2022-10-10 00:00:28 +0200 | Guest3 | (~Guest3@dynamic-077-180-146-126.77.180.pool.telefonica.de) |
2022-10-10 00:00:56 +0200 | Guest6 | (~Guest6@2a01cb0408ee9900a77feef9a14c5040.ipv6.abo.wanadoo.fr) |
2022-10-10 00:01:43 +0200 | <Guest6> | Evening, I recently discovered monad transfomers and especially ReaderT and i'm trying to use it in my WAI application. But i dont understand at all how can i make a WAI application and ReaderT work together. |
2022-10-10 00:02:06 +0200 | <dminuoso> | Guest6: You would unwrap the transformer first. |
2022-10-10 00:02:22 +0200 | <dminuoso> | Do you use WAI directly, or some kind of server library? |
2022-10-10 00:03:00 +0200 | <Guest6> | i use WAI directly, i run it with warp tho |
2022-10-10 00:04:08 +0200 | <dminuoso> | Can you share some rough bits for me to get an idea how to you use this? |
2022-10-10 00:04:25 +0200 | <Guest6> | sure |
2022-10-10 00:05:42 +0200 | <Guest6> | https://gist.github.com/louislebrault/b5ecc9b5fc042a6c7e9bf6b8e2644b04 |
2022-10-10 00:06:27 +0200 | <Guest6> | as you see i pass a "Context" parameter everywhere, that i want to pass with ReaderT instead |
2022-10-10 00:07:08 +0200 | <dminuoso> | Guest6: okay, so you would write some `type MyApplication = Request -> (Response -> ReaderT Env IO ResponseReceived) -> ReaderT Env ResponseReceived` |
2022-10-10 00:07:49 +0200 | <Guest6> | exactly |
2022-10-10 00:07:52 +0200 | <dminuoso> | Then, you would need a simple function mkApp :: Env -> MyApplication -> Application` |
2022-10-10 00:08:01 +0200 | <dminuoso> | Which does the necessary runReaderT |
2022-10-10 00:08:11 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-10 00:09:19 +0200 | <Guest6> | hmm ok |
2022-10-10 00:09:20 +0200 | natechan | (~nate@98.45.169.16) |
2022-10-10 00:09:39 +0200 | <dminuoso> | Note, that if you use WAI directly you can *only* ever add ReaderT (or things isomorphic to it) unless you also use MonadBaseControl. |
2022-10-10 00:09:58 +0200 | <dminuoso> | Or well, actually thats not true. |
2022-10-10 00:10:09 +0200 | <dminuoso> | Strictly speaking you only need: |
2022-10-10 00:11:17 +0200 | <dminuoso> | Mm ignore that bit |
2022-10-10 00:11:33 +0200 | ulvarrefr | (~user@188.124.56.153) (Ping timeout: 252 seconds) |
2022-10-10 00:11:58 +0200 | <EvanR> | add TardisT to WAI to allow unsending emails |
2022-10-10 00:14:25 +0200 | <dminuoso> | That wont work. You would have to use IOT. |
2022-10-10 00:15:25 +0200 | <dminuoso> | Been fighting for that particular transformer, but nobody knows how to make it, especially since the DMC-12 is no longer being made. |
2022-10-10 00:16:17 +0200 | <Guest6> | i saw a package that is supposed to do the necessary to transform an application into a ReaderT application and vice-versa : https://hackage.haskell.org/package/wai-transformers-0.1.0/docs/Network-Wai-Trans.html#t:Applicati… |
2022-10-10 00:16:23 +0200 | <Guest6> | but i didnt achieve to make it work |
2022-10-10 00:16:37 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-10 00:16:43 +0200 | <dminuoso> | Give me a second, let me give you a pointer |
2022-10-10 00:16:52 +0200 | <Guest6> | i wonder if i need more knowledge about the whole transformers things to achieve this |
2022-10-10 00:17:10 +0200 | <Guest6> | because im trying to wire things together without understanding what's going wrong |
2022-10-10 00:17:16 +0200 | <Guest6> | sure |
2022-10-10 00:17:57 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 268 seconds) |
2022-10-10 00:18:28 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-10 00:19:15 +0200 | <dminuoso> | Guest6: https://gist.github.com/dminuoso/0b9db8bcf0c92e8861640f46a6e1b735 |
2022-10-10 00:22:11 +0200 | <dminuoso> | You can also use `liftIO` inside there if you prefer |
2022-10-10 00:23:33 +0200 | <Guest6> | ok for the first time since days the code compiles |
2022-10-10 00:23:50 +0200 | <dminuoso> | https://gist.github.com/dminuoso/0b9db8bcf0c92e8861640f46a6e1b735 |
2022-10-10 00:23:51 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 260 seconds) |
2022-10-10 00:23:59 +0200 | <EvanR> | if it compiles, ship it |
2022-10-10 00:24:05 +0200 | son0p | (~ff@181.136.122.143) (Remote host closed the connection) |
2022-10-10 00:26:55 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-10 00:27:00 +0200 | <Guest6> | it woooorks |
2022-10-10 00:27:14 +0200 | <Guest6> | dminuoso thank you so much |
2022-10-10 00:29:21 +0200 | <Guest6> | dunno how much hours i would've need to come up with an equivalent of those few lines of code u shared with me |
2022-10-10 00:30:27 +0200 | <Guest6> | will have to learn how those things are working tho |
2022-10-10 00:30:44 +0200 | <dminuoso> | Well this is just very simple follow-the-types |
2022-10-10 00:31:07 +0200 | <Guest6> | ahah well |
2022-10-10 00:31:23 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 265 seconds) |
2022-10-10 00:32:05 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
2022-10-10 00:32:12 +0200 | <Guest6> | probably once you understood how is it working, i spent time reading type signatures of https://hackage.haskell.org/package/wai-transformers-0.1.0/docs/Network-Wai-Trans.html#t:Applicati… but i had absolutly no clue how to make the compiler happy |
2022-10-10 00:33:00 +0200 | <dminuoso> | Guest6: Honestly with middlewares and arbitrary monad transformers you get into some pretty strange complications |
2022-10-10 00:33:18 +0200 | <dminuoso> | Which is why you see that MonadBaseControl constraint everywhere |
2022-10-10 00:34:11 +0200 | <EvanR> | type MiddlewareT m = ApplicationT m -> ApplicationT m -- ah, so MiddlewareT is actually a transformer transformer |
2022-10-10 00:34:15 +0200 | Alecui | (~alecu@2a02:a58:8682:d600:c147:7976:693f:ec2f) |
2022-10-10 00:34:16 +0200 | <dminuoso> | Well, not even just middlewares, but also something like liftApplication :: Application -> MyApplication |
2022-10-10 00:35:00 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 258 seconds) |
2022-10-10 00:35:21 +0200 | <dminuoso> | Guest6: That being said, as long as you stick to ReaderT (and things isomorphic to it like LoggingT) you will not experience these problems. |
2022-10-10 00:36:06 +0200 | <Guest6> | good to hear |
2022-10-10 00:43:51 +0200 | son0p | (~ff@181.136.122.143) |
2022-10-10 00:45:35 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-10 00:45:41 +0200 | natechan | (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
2022-10-10 00:45:47 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-10 00:49:24 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
2022-10-10 00:51:51 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 268 seconds) |
2022-10-10 00:51:57 +0200 | perrierjouet | (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.6) |
2022-10-10 00:55:24 +0200 | Alecui | (~alecu@2a02:a58:8682:d600:c147:7976:693f:ec2f) (Remote host closed the connection) |
2022-10-10 00:57:38 +0200 | The_Guest67 | (~The_Guest@62.231.72.77) |
2022-10-10 00:58:31 +0200 | zns | (~zns@user/zns) |
2022-10-10 01:00:25 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
2022-10-10 01:02:58 +0200 | The_Guest6785 | (~The_Guest@62.231.72.77) |
2022-10-10 01:03:18 +0200 | <The_Guest6785> | Hey guys, Dumb question here: I'm following this lecture on haskell but when i compile my code it prints <<loop>>, https://paste.tomsmeding.com/0iK4uIu9 . A bit of digging and i found out that it is an infinite loop so what did i do wrong? |
2022-10-10 01:03:35 +0200 | beteigeuze | (~Thunderbi@2001:8a0:61b5:6101:f0c:e4e3:bfdc:91df) (Remote host closed the connection) |
2022-10-10 01:04:01 +0200 | beteigeuze | (~Thunderbi@2001:8a0:61b5:6101:9233:19e9:6537:6e73) |
2022-10-10 01:04:42 +0200 | <geekosaur> | reused xs and then tried to reference the original one (line 4_ |
2022-10-10 01:04:46 +0200 | <geekosaur> | s/_/) |
2022-10-10 01:05:36 +0200 | <The_Guest6785> | Oh, how didn't i see that! Thanks |
2022-10-10 01:06:14 +0200 | The_Guest67 | (~The_Guest@62.231.72.77) (Ping timeout: 252 seconds) |
2022-10-10 01:07:03 +0200 | thyriaen | (~thyriaen@2a01:aea0:dd4:463c:6245:cbff:fe9f:48b1) (Quit: Leaving) |
2022-10-10 01:08:14 +0200 | dimsuz | (~dimsuz@185.17.128.86) |
2022-10-10 01:10:01 +0200 | codaraxis | (~codaraxis@user/codaraxis) |
2022-10-10 01:10:58 +0200 | Topsi | (~Topsi@dyndsl-095-033-089-091.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
2022-10-10 01:11:30 +0200 | codaraxis__ | (~codaraxis@user/codaraxis) (Ping timeout: 265 seconds) |
2022-10-10 01:12:50 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2022-10-10 01:13:18 +0200 | codaraxis__ | (~codaraxis@user/codaraxis) |
2022-10-10 01:16:49 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2022-10-10 01:17:18 +0200 | codaraxis | (~codaraxis@user/codaraxis) (Ping timeout: 265 seconds) |
2022-10-10 01:18:16 +0200 | vorpuni | (~pvorp@2001:861:3881:c690:6d4:662c:a06a:ef29) (Remote host closed the connection) |
2022-10-10 01:18:20 +0200 | <ski> | EvanR : hm ? `MiddlewareT :: (* -> *) -> *' |
2022-10-10 01:20:06 +0200 | The_Guest6785 | (~The_Guest@62.231.72.77) (Quit: Client closed) |
2022-10-10 01:20:47 +0200 | <dminuoso> | ski: I think it was just a humor remark because it had a trailing capital T. |
2022-10-10 01:20:50 +0200 | chomwitt | (~chomwitt@2a02:587:dc0c:c200:9b5d:e3:b4f7:170c) (Ping timeout: 268 seconds) |
2022-10-10 01:21:30 +0200 | zns | (~zns@user/zns) (Quit: zzz) |
2022-10-10 01:21:38 +0200 | <ski> | oh |
2022-10-10 01:21:48 +0200 | <ski> | ApplicationT m = Request -> Cont (m ResponseReceived) Response |
2022-10-10 01:21:56 +0200 | <ski> | = Request -> ContT ResponseReceived m Response |
2022-10-10 01:22:09 +0200 | <ski> | = ReaderT Request (ContT ResponseReceived m) Response |
2022-10-10 01:22:20 +0200 | <ski> | MiddlewareT m = Cont (ReaderT Request (ContT ResponseReceived m) Response) () |
2022-10-10 01:22:31 +0200 | <ski> | = ContT Response (ReaderT Request (ContT ResponseReceived m)) () |
2022-10-10 01:22:55 +0200 | <ski> | = StateT Request (Cont (ContT ResponseReceived m Response)) () |
2022-10-10 01:23:06 +0200 | <ski> | = StateT Request (ContT Response (ContT ResponseReceived m)) () |
2022-10-10 01:23:10 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-10 01:23:31 +0200 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2022-10-10 01:23:49 +0200 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-10-10 01:23:55 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
2022-10-10 01:27:19 +0200 | <ski> | hm, i guess `Request' is being forwarded from outer to inner ("backwarded" ?), while `Response' is forwarded in the other direction |
2022-10-10 01:28:09 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-10 01:28:51 +0200 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2022-10-10 01:28:54 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 265 seconds) |
2022-10-10 01:30:03 +0200 | edrx | (~Eduardo@2804:56c:d2d3:4800:cf7d:b421:4c3a:392e) |
2022-10-10 01:30:07 +0200 | perrierjouet | (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) |
2022-10-10 01:31:57 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-10 01:33:49 +0200 | zns | (~zns@user/zns) |
2022-10-10 01:33:57 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-10-10 01:34:08 +0200 | gentauro | (~gentauro@user/gentauro) |
2022-10-10 01:34:25 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
2022-10-10 01:34:40 +0200 | <EvanR> | dminuoso, because the type literally says ApplicationT m -> ApplicationT m |
2022-10-10 01:35:14 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:50e1:7448:ac98:298f) |
2022-10-10 01:35:18 +0200 | <dminuoso> | That is not a monad transformer conforming type, though. |
2022-10-10 01:35:59 +0200 | <dminuoso> | The type is that of a monad homomorphism. |
2022-10-10 01:36:01 +0200 | <EvanR> | monads shmonads |
2022-10-10 01:36:25 +0200 | <dminuoso> | Monad transformers must be of type (Type -> Type) -> Type -> Type |
2022-10-10 01:37:00 +0200 | son0p | (~ff@181.136.122.143) (Killed (NickServ (GHOST command used by son0p-))) |
2022-10-10 01:37:29 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 268 seconds) |
2022-10-10 01:38:43 +0200 | <EvanR> | is ApplicationT m even a monad whats going on |
2022-10-10 01:39:47 +0200 | <dminuoso> | As ski has pointed out, its isomorphic to some at least. |
2022-10-10 01:40:01 +0200 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Read error: Connection reset by peer) |
2022-10-10 01:40:12 +0200 | <EvanR> | ReaderT Request (ContT ResponseReceived m) Response seems to be a whole action |
2022-10-10 01:40:14 +0200 | <dminuoso> | It's just a convenience type alias to describe an Application with an arbitrary monad layered in there |
2022-10-10 01:40:16 +0200 | <edrx> | hi all! I have just finished this: https://i.ibb.co/Z8H072x/sshot.png |
2022-10-10 01:40:18 +0200 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-10-10 01:40:19 +0200 | <EvanR> | like where does the a goes |
2022-10-10 01:41:04 +0200 | <edrx> | and now I can start to play with parsers for arithmetic expressions. question: |
2022-10-10 01:42:40 +0200 | natechan | (~nate@98.45.169.16) |
2022-10-10 01:42:47 +0200 | <ski> | `a' is `Response' there. for the latter one, it is `()' |
2022-10-10 01:42:58 +0200 | <ski> | re edrx |
2022-10-10 01:44:02 +0200 | <EvanR> | so the T is not indicating a monad transformer in the first place |
2022-10-10 01:44:05 +0200 | <ski> | @src concatMap |
2022-10-10 01:44:05 +0200 | <lambdabot> | concatMap f = foldr ((++) . f) [] |
2022-10-10 01:44:10 +0200 | BusConscious | (~martin@ip-046-223-162-236.um13.pools.vodafone-ip.de) |
2022-10-10 01:44:39 +0200 | <dminuoso> | EvanR: Its sort of indicating that, whatever you specify next to it, is likely a monad with transformers applied? |
2022-10-10 01:44:47 +0200 | <ski> | concatMap f xs = concat (map f xs) = f =<< xs = [y | x <- xs,y <- f x] |
2022-10-10 01:44:49 +0200 | jinsun | Guest3962 |
2022-10-10 01:44:49 +0200 | jinsun__ | (~jinsun@user/jinsun) |
2022-10-10 01:44:49 +0200 | Guest3962 | (~jinsun@user/jinsun) (Killed (cadmium.libera.chat (Nickname regained by services))) |
2022-10-10 01:44:49 +0200 | jinsun__ | jinsun |
2022-10-10 01:44:54 +0200 | <dminuoso> | Dunno. ApplicationM and MiddlewareM might have been more consistent |
2022-10-10 01:45:17 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-34.elisa-laajakaista.fi) (Quit: Leaving.) |
2022-10-10 01:45:20 +0200 | <EvanR> | if someone who was complaining about the transformer heavy situations in haskell, they might see that and revolt xD |
2022-10-10 01:46:03 +0200 | Oiyqlk | (~rscastilh@191-214-26-24.user.veloxzone.com.br) () |
2022-10-10 01:46:37 +0200 | <EvanR> | in so far as naming conventions can be used as a guide in unfamiliar circumstances that have familiar things |
2022-10-10 01:47:07 +0200 | geekosaur | wonders if *M is a good naming convention given ST vs. STM |
2022-10-10 01:47:50 +0200 | <geekosaur> | edrx, you had a question? |
2022-10-10 01:48:03 +0200 | <ski> | edrx : redundant brackets, `.. ++ (show s) ++ ..' (`luatree0'), `(..):st' (`exec1') |
2022-10-10 01:48:13 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-10 01:48:23 +0200 | <edrx> | ...question: in one of the next steps I will have to split a string like "( 2 + u- 3 ) * ( 4 + x )" at whitespace, and then transform each word into commands for a stack machine, like OpenParen, Prefix "-" 40, Infix "+" 20 21 |
2022-10-10 01:48:59 +0200 | <dminuoso> | Wow. GHC supports unboxed sum types! |
2022-10-10 01:49:05 +0200 | <dminuoso> | How did I miss that memo |
2022-10-10 01:49:12 +0200 | <EvanR> | cool |
2022-10-10 01:49:15 +0200 | gmg | (~user@user/gehmehgeh) |
2022-10-10 01:49:27 +0200 | natechan | (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
2022-10-10 01:49:29 +0200 | <dminuoso> | That means I can now handroll my own version of IO :> |
2022-10-10 01:49:33 +0200 | <geekosaur> | hm. parens aren't normally used at that level, instead they would be used to structure an AST and the stack machine programmed from that |
2022-10-10 01:49:50 +0200 | <ski> | edrx : `execn' is a `foldl'. i'd probably check for singleton in `exec' |
2022-10-10 01:49:55 +0200 | <EvanR> | omg edrx what is the actual question |
2022-10-10 01:50:34 +0200 | <edrx> | the question is: in Lua using associative tables to translate strings into other objects is trivial, and I used the built-in associative tables to conevrt for example "+" to Infix "+" 20 21. What do you recommend for that in Haskell? |
2022-10-10 01:50:43 +0200 | <edrx> | EvanR: sorry =/ |
2022-10-10 01:50:56 +0200 | <geekosaur> | this is parsing |
2022-10-10 01:51:01 +0200 | <dminuoso> | type Res# e a = (# (# State#, a, Addr# #) | (# State# #) | #( State#, e #) #) |
2022-10-10 01:51:21 +0200 | <ski> | `ST' predates the `FooT', iirc |
2022-10-10 01:51:22 +0200 | <dminuoso> | type Res# e a = (# (# State# RealWorld, a, Addr# #) | (# State# RealWorld #) | #( State# RealWorld, e #) #) |
2022-10-10 01:51:24 +0200 | <dminuoso> | That. |
2022-10-10 01:51:29 +0200 | <EvanR> | translating symbols to other symbols one to one with a table is one thing, you could use a Map |
2022-10-10 01:51:38 +0200 | <EvanR> | but you seem to want to do actual parsing in this process |
2022-10-10 01:51:51 +0200 | <EvanR> | dunno how lua manages that with just their table type xD |
2022-10-10 01:52:09 +0200 | <geekosaur> | same way lots of people "parse" with regexes |
2022-10-10 01:52:17 +0200 | <ski> | dminuoso : not what i would call "unboxed sum types", though :/ |
2022-10-10 01:52:26 +0200 | <edrx> | ski: thanks! I knew that execn looked like one of the folds, but that is just a very first prototype... |
2022-10-10 01:52:30 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-10-10 01:52:30 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-10-10 01:52:30 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-10-10 01:53:29 +0200 | <edrx> | EvanR: yes, I'm try to learn how to do parsing properly. |
2022-10-10 01:54:18 +0200 | <EvanR> | you got your LL parsing and you got your LR parsing and... I don't understand any of it because I use monads |
2022-10-10 01:55:38 +0200 | <ski> | edrx : either `ReadS' (or `ReadP' or `ReadPrec') .. or use a proper "serious" parser combinator library (Parsec,MegaParsec,attoparsec,trifecta,..) .. or use the (`yacc'-like, with `lex'-like) Happy, with Alex .. or possibly something on top of that, like BNFC |
2022-10-10 01:55:43 +0200 | spaced | (uid572193@id-572193.ilkley.irccloud.com) |
2022-10-10 01:55:53 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 258 seconds) |
2022-10-10 01:56:08 +0200 | <EvanR> | yeah we have nice libraries to take out the task of parsing lua expressions easily |
2022-10-10 01:56:25 +0200 | <ski> | dminuoso : what're you modelling ? |
2022-10-10 01:56:56 +0200 | <ski> | i mean, that's the middle alternative for ? |
2022-10-10 01:57:14 +0200 | <EvanR> | in megaparsec you could even give it a table of operators, precedences, associativities, and it just does it for you |
2022-10-10 01:57:24 +0200 | ski | idly recalls Hugs did `IO' via CPS |
2022-10-10 01:57:31 +0200 | <EvanR> | you don't have to know anything lol |
2022-10-10 01:57:36 +0200 | <dminuoso> | ski: It's ByteString encoder monad that has separate failure/error modes. |
2022-10-10 01:57:46 +0200 | <dminuoso> | The middle alternative models failure |
2022-10-10 01:57:54 +0200 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 265 seconds) |
2022-10-10 01:58:03 +0200 | <ski> | hm. what does failure entail ? |
2022-10-10 01:58:20 +0200 | <dminuoso> | Exceeding available buffer length, setting position out of bounds |
2022-10-10 01:58:39 +0200 | <ski> | as opposed to what kind of errors ? |
2022-10-10 01:58:53 +0200 | <ski> | how does the handling (plumbing) differ ? |
2022-10-10 01:59:47 +0200 | <dminuoso> | ski: On a failure you could still <|> to switch to a different mechanism. |
2022-10-10 01:59:48 +0200 | dimsuz | (~dimsuz@185.17.128.86) (Quit: Client closed) |
2022-10-10 01:59:52 +0200 | <ski> | @where BNFC |
2022-10-10 01:59:52 +0200 | <lambdabot> | BNF Converter, http://bnfc.digitalgrammars.com/ |
2022-10-10 02:00:18 +0200 | <dminuoso> | An error however will, in the absence of recovery primitives, just fail through Alternative/MonadPlus |
2022-10-10 02:01:01 +0200 | <ski> | hm .. not quite seeing why "Exceeding available buffer length, setting position out of bounds" should backtrack to another branch |
2022-10-10 02:01:36 +0200 | <dminuoso> | This is exploratory at the moment |
2022-10-10 02:01:48 +0200 | <ski> | mhm |
2022-10-10 02:02:25 +0200 | Guest6 | (~Guest6@2a01cb0408ee9900a77feef9a14c5040.ipv6.abo.wanadoo.fr) (Quit: Client closed) |
2022-10-10 02:02:45 +0200 | nate1 | (~nate@98.45.169.16) |
2022-10-10 02:02:56 +0200 | natechan | (~nate@98.45.169.16) |
2022-10-10 02:03:16 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2022-10-10 02:06:58 +0200 | <EvanR> | do Happy and or Alex outperform the classic monadic parser combinator libs you mentioned |
2022-10-10 02:07:59 +0200 | <EvanR> | i assume this was the case at some point because it was used in GHC |
2022-10-10 02:08:03 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 265 seconds) |
2022-10-10 02:08:28 +0200 | <geekosaur> | I think someone said it had for them recently in here? |
2022-10-10 02:08:39 +0200 | <dminuoso> | They still are used in GHC |
2022-10-10 02:09:12 +0200 | <geekosaur> | this isn't really that surprising to me, happy is just less convenient than whipping up a quick parser in megaparsec or etc. |
2022-10-10 02:09:48 +0200 | <dminuoso> | megaparsec is quite slow |
2022-10-10 02:09:51 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-10 02:10:02 +0200 | <dminuoso> | The worst part is that it has essentially every single binding marked with INLINE |
2022-10-10 02:10:12 +0200 | <dminuoso> | Which can even trivial parsers take several minutes to compile |
2022-10-10 02:10:18 +0200 | <EvanR> | 😱 |
2022-10-10 02:10:37 +0200 | <EvanR> | actually, that must be what I noticed |
2022-10-10 02:10:48 +0200 | <EvanR> | rebuilding my program if the parser changed is like, whole seconds |
2022-10-10 02:11:10 +0200 | <dminuoso> | Things like asum with a lot of branches are particularly bad |
2022-10-10 02:11:35 +0200 | <dminuoso> | But I guess there's only so much you can do if you rely on GHC to make your parser go fast |
2022-10-10 02:12:18 +0200 | <EvanR> | that's how you know you're doing something high level |
2022-10-10 02:12:42 +0200 | califax | (~califax@user/califx) |
2022-10-10 02:13:29 +0200 | <EvanR> | if it takes significant time to compile |
2022-10-10 02:13:57 +0200 | <EvanR> | and it can't be any faster xD |
2022-10-10 02:14:08 +0200 | <EvanR> | (kolmogorov time complexity or something) |
2022-10-10 02:15:51 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds) |
2022-10-10 02:16:20 +0200 | natechan | (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
2022-10-10 02:24:22 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-10 02:37:07 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds) |
2022-10-10 02:37:26 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 260 seconds) |
2022-10-10 02:38:31 +0200 | Cale | (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Read error: Connection reset by peer) |
2022-10-10 02:46:11 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::a80f) (Ping timeout: 260 seconds) |
2022-10-10 02:51:33 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-10 02:52:36 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds) |
2022-10-10 02:53:32 +0200 | Cale | (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) |
2022-10-10 02:54:00 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2022-10-10 02:55:49 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
2022-10-10 02:58:45 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 252 seconds) |
2022-10-10 03:00:02 +0200 | beteigeuze | (~Thunderbi@2001:8a0:61b5:6101:9233:19e9:6537:6e73) (Ping timeout: 268 seconds) |
2022-10-10 03:04:28 +0200 | shapr | (~user@68.54.166.125) (Remote host closed the connection) |
2022-10-10 03:05:45 +0200 | spaced | (uid572193@id-572193.ilkley.irccloud.com) (Changing host) |
2022-10-10 03:05:45 +0200 | spaced | (uid572193@user/spaced) |
2022-10-10 03:06:19 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2022-10-10 03:08:36 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-10 03:11:56 +0200 | LukeHoersten | (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-10-10 03:13:47 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 265 seconds) |
2022-10-10 03:21:02 +0200 | edrx | (~Eduardo@2804:56c:d2d3:4800:cf7d:b421:4c3a:392e) (Remote host closed the connection) |
2022-10-10 03:23:25 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-10 03:26:01 +0200 | zns | (~zns@user/zns) (Quit: zzz) |
2022-10-10 03:26:29 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-10 03:30:35 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-10 03:34:02 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
2022-10-10 03:36:34 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-10-10 03:47:34 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-10 03:49:42 +0200 | zaquest | (~notzaques@5.130.79.72) (Remote host closed the connection) |
2022-10-10 03:50:42 +0200 | zaquest | (~notzaques@5.130.79.72) |
2022-10-10 04:02:32 +0200 | ubert1 | (~Thunderbi@77.119.192.27.wireless.dyn.drei.com) |
2022-10-10 04:03:15 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Quit: Lost terminal) |
2022-10-10 04:03:29 +0200 | waleee | (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 250 seconds) |
2022-10-10 04:04:01 +0200 | ubert | (~Thunderbi@178.115.74.207.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
2022-10-10 04:04:02 +0200 | ubert1 | ubert |
2022-10-10 04:05:46 +0200 | causal | (~user@50.35.83.177) (Quit: WeeChat 3.6) |
2022-10-10 04:07:14 +0200 | ddellacosta | (~ddellacos@89.45.224.218) (Ping timeout: 268 seconds) |
2022-10-10 04:08:32 +0200 | raehik1 | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds) |
2022-10-10 04:09:02 +0200 | ddellacosta | (~ddellacos@143.244.47.82) |
2022-10-10 04:13:14 +0200 | Guest3 | (~Guest3@dynamic-077-180-146-126.77.180.pool.telefonica.de) (Ping timeout: 252 seconds) |
2022-10-10 04:16:41 +0200 | hololeap | (~quassel@user/hololeap) (Quit: Bye) |
2022-10-10 04:17:44 +0200 | hololeap | (~quassel@user/hololeap) |
2022-10-10 04:31:31 +0200 | califax | (~califax@user/califx) (Ping timeout: 258 seconds) |
2022-10-10 04:34:50 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2022-10-10 04:34:56 +0200 | califax | (~califax@user/califx) |
2022-10-10 04:34:59 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 265 seconds) |
2022-10-10 04:37:39 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 258 seconds) |
2022-10-10 04:37:58 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-10-10 04:39:56 +0200 | BusConscious | (~martin@ip-046-223-162-236.um13.pools.vodafone-ip.de) (Ping timeout: 260 seconds) |
2022-10-10 04:41:54 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-10-10 04:42:35 +0200 | terrorjack | (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat) |
2022-10-10 04:43:33 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-10 04:43:34 +0200 | terrorjack | (~terrorjac@2a01:4f8:1c1e:509a::1) |
2022-10-10 04:43:56 +0200 | kenran | (~user@user/kenran) |
2022-10-10 04:44:13 +0200 | Cale | (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Read error: Connection reset by peer) |
2022-10-10 04:46:49 +0200 | ddellacosta | (~ddellacos@143.244.47.82) (Ping timeout: 268 seconds) |
2022-10-10 04:47:20 +0200 | frost | (~frost@user/frost) |
2022-10-10 04:48:46 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 258 seconds) |
2022-10-10 04:56:40 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::a80f) |
2022-10-10 04:59:01 +0200 | td_ | (~td@94.134.91.56) (Ping timeout: 252 seconds) |
2022-10-10 04:59:01 +0200 | Cale | (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) |
2022-10-10 05:00:00 +0200 | Taneb | (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (Quit: I seem to have stopped.) |
2022-10-10 05:00:32 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-10-10 05:01:01 +0200 | td_ | (~td@muedsl-82-207-238-191.citykom.de) |
2022-10-10 05:01:13 +0200 | Taneb | (~Taneb@runciman.hacksoc.org) |
2022-10-10 05:01:46 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2022-10-10 05:03:17 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-10-10 05:12:42 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 268 seconds) |
2022-10-10 05:13:04 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-10-10 05:13:20 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
2022-10-10 05:14:46 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-10 05:18:47 +0200 | nate1 | (~nate@98.45.169.16) |
2022-10-10 05:27:15 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
2022-10-10 05:29:33 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-10 05:31:30 +0200 | zns | (~zns@user/zns) |
2022-10-10 05:34:29 +0200 | zns | (~zns@user/zns) (Client Quit) |
2022-10-10 05:34:52 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
2022-10-10 05:38:34 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-10 05:40:29 +0200 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset) |
2022-10-10 05:41:27 +0200 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) |
2022-10-10 05:44:17 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-10 05:45:34 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-10-10 05:47:26 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-10 05:51:05 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds) |
2022-10-10 05:52:36 +0200 | Kath42 | (~Kath42@174-21-171-250.tukw.qwest.net) |
2022-10-10 05:56:48 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-10-10 05:58:05 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-10 05:58:38 +0200 | user___ | (~user@2806:104e:1b:4099:398e:7bac:b20e:4f52) |
2022-10-10 05:58:58 +0200 | user___ | (~user@2806:104e:1b:4099:398e:7bac:b20e:4f52) (Client Quit) |
2022-10-10 06:01:30 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Client Quit) |
2022-10-10 06:03:38 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-10 06:06:57 +0200 | nate1 | (~nate@98.45.169.16) |
2022-10-10 06:11:25 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 246 seconds) |
2022-10-10 06:12:50 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-10 06:16:48 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
2022-10-10 06:16:58 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-10 06:21:31 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds) |
2022-10-10 06:22:02 +0200 | mbuf | (~Shakthi@49.205.87.31) |
2022-10-10 06:35:11 +0200 | kenran | (~user@user/kenran) (Remote host closed the connection) |
2022-10-10 06:36:10 +0200 | <pareto-optimal-d> | There was a book or draft on learning Haskell posted to r/haskell in the past 6 months that went a different direction than most learning materials and taught fundamentals/theory stuff first... does anyone recall it's name? I can't seem to find it. |
2022-10-10 06:36:41 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-10-10 06:36:47 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 265 seconds) |
2022-10-10 06:38:47 +0200 | <jackdk> | https://haskellbook.com/ ? |
2022-10-10 06:39:01 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-10 06:39:25 +0200 | <pareto-optimal-d> | No, this was just a website and it said "this is just a draft" and wasn't totally complete. I remembered about it today and realized I'd forgotten how to find it again :D |
2022-10-10 06:39:36 +0200 | <jackdk> | hm, don't know then. Sorry. |
2022-10-10 06:39:46 +0200 | <janus> | pareto-optimal-d: https://www.reddit.com/r/haskell/comments/xrd29a/practical_haskell_3rd_edition_is_out/ |
2022-10-10 06:39:54 +0200 | <pareto-optimal-d> | No problem, thanks for trying to help. |
2022-10-10 06:41:36 +0200 | <pareto-optimal-d> | janus: No, thanks for throwing it out. That type of book or "get programming with Haskell" is the opposite approach from this one that I read... I know with this few clues it's a longshot but was hoping someone else might remember these characteristics. |
2022-10-10 06:48:55 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
2022-10-10 06:50:27 +0200 | <pareto-optimal-d> | Now that I think about it after searching some more, I think it was "teach category theory first then Haskell" if that rings any bells. |
2022-10-10 06:51:35 +0200 | <jackdk> | The closest thing I know of is: https://www.youtube.com/watch?v=Y5YCE_mVjvg&list=PLhgq-BqyZ7i7MTGhUROZy3BOICnVixETS |
2022-10-10 06:52:16 +0200 | <pareto-optimal-d> | Not the one stuck in my memory, but I've added that to my watch later :D |
2022-10-10 06:52:34 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-10-10 06:53:18 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2022-10-10 06:53:42 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-10 06:58:39 +0200 | <pareto-optimal-d> | Found it! https://leanpub.com/magicalhaskell/read |
2022-10-10 06:59:11 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-10-10 07:00:35 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-10-10 07:01:52 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-10 07:11:25 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-10-10 07:14:02 +0200 | nate1 | (~nate@98.45.169.16) |
2022-10-10 07:14:12 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-10 07:19:45 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
2022-10-10 07:21:55 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-10 07:26:31 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 268 seconds) |
2022-10-10 07:29:00 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
2022-10-10 07:30:29 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-10-10 07:32:07 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-10 07:34:22 +0200 | califax | (~califax@user/califx) (Ping timeout: 258 seconds) |
2022-10-10 07:34:50 +0200 | califax | (~califax@user/califx) |
2022-10-10 07:37:03 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-10-10 07:37:20 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
2022-10-10 07:38:01 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2022-10-10 07:38:27 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-10 07:39:24 +0200 | rosalind | (rosalind@id-194105.uxbridge.irccloud.com) |
2022-10-10 07:40:34 +0200 | BusConscious | (~martin@ip-046-223-162-236.um13.pools.vodafone-ip.de) |
2022-10-10 07:40:39 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-10 07:46:29 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-10-10 07:48:29 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-10 07:53:05 +0200 | kenran | (~user@user/kenran) |
2022-10-10 07:58:35 +0200 | nate1 | (~nate@98.45.169.16) |
2022-10-10 07:58:59 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-10-10 08:00:45 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-10 08:03:04 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 246 seconds) |
2022-10-10 08:03:53 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2022-10-10 08:08:40 +0200 | raym | (~aritra@user/raym) (Ping timeout: 246 seconds) |
2022-10-10 08:09:46 +0200 | raym | (~aritra@user/raym) |
2022-10-10 08:11:53 +0200 | razetime | (~quassel@117.193.4.83) |
2022-10-10 08:15:49 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-10-10 08:16:59 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-10 08:19:26 +0200 | kenran | (~user@user/kenran) (Remote host closed the connection) |
2022-10-10 08:19:40 +0200 | kenran | (~user@user/kenran) |
2022-10-10 08:22:01 +0200 | johnjaye | (~pi@173.209.64.74) (Ping timeout: 268 seconds) |
2022-10-10 08:22:17 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 258 seconds) |
2022-10-10 08:23:29 +0200 | johnjaye | (~pi@173.209.64.74) |
2022-10-10 08:29:56 +0200 | kenran | (~user@user/kenran) (Remote host closed the connection) |
2022-10-10 08:30:59 +0200 | kenran | (~user@user/kenran) |
2022-10-10 08:31:35 +0200 | dextaa | (~dextaa@user/dextaa) |
2022-10-10 08:33:49 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-10-10 08:34:25 +0200 | rockymarine[m] | (~rockymari@2001:470:69fc:105::2:9a0c) |
2022-10-10 08:35:09 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-10 08:35:29 +0200 | zeenk | (~zeenk@2a02:2f04:a20a:3e00:5712:52b0:ca1d:bc63) |
2022-10-10 08:36:04 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
2022-10-10 08:36:14 +0200 | FlaminWalrus | (~user@wsip-24-248-9-71.br.br.cox.net) |
2022-10-10 08:37:38 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-10 08:42:23 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 268 seconds) |
2022-10-10 08:43:43 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:4e96:406f:211e:cbd4) |
2022-10-10 08:49:09 +0200 | BusConscious | (~martin@ip-046-223-162-236.um13.pools.vodafone-ip.de) (Ping timeout: 268 seconds) |
2022-10-10 08:50:34 +0200 | titibandit | (~titibandi@xdsl-89-0-65-2.nc.de) |
2022-10-10 08:51:09 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 265 seconds) |
2022-10-10 08:54:22 +0200 | gmg | (~user@user/gehmehgeh) |
2022-10-10 08:55:16 +0200 | Midjak | (~Midjak@82.66.147.146) |
2022-10-10 08:56:22 +0200 | acidjnk | (~acidjnk@p200300d6e7137a503d80e44891d38f9e.dip0.t-ipconnect.de) |
2022-10-10 09:01:36 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-10-10 09:02:14 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-10 09:03:11 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-10 09:08:13 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-10-10 09:09:27 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-10 09:16:37 +0200 | johnw | (~johnw@2600:1700:cf00:db0:c408:2164:6157:6eb5) |
2022-10-10 09:20:30 +0200 | <dminuoso> | How exactly do GHC exceptions work? If I pry an IO open and manually pass the state tokens through, will that preserve the semantics of the exception? |
2022-10-10 09:21:42 +0200 | califax | (~califax@user/califx) (Ping timeout: 258 seconds) |
2022-10-10 09:24:33 +0200 | <johnw> | what are the semantics of the exception? |
2022-10-10 09:24:43 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-10-10 09:25:46 +0200 | califax | (~califax@user/califx) |
2022-10-10 09:25:56 +0200 | <dminuoso> | Well I dont want them to be swallowed for starters |
2022-10-10 09:26:12 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-10 09:30:18 +0200 | <johnw> | have you already seen http://research.microsoft.com/en-us/um/people/simonpj/papers/imprecise-exn.htm? |
2022-10-10 09:33:37 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2022-10-10 09:35:19 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Remote host closed the connection) |
2022-10-10 09:35:36 +0200 | cafce25 | (~cafce25@2001:a62:153a:a201:4317:4122:7383:8e29) (Quit: Client closed) |
2022-10-10 09:36:38 +0200 | sammelweis_ | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-10 09:37:39 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 248 seconds) |
2022-10-10 09:39:08 +0200 | <dminuoso> | Im not entirely sure this is relevant, as that paper talks about pure exceptions. |
2022-10-10 09:39:34 +0200 | <dminuoso> | raiseIO# :: a -> State# RealWorld -> (#State# RealWorld, b#) |
2022-10-10 09:39:54 +0200 | <dminuoso> | But that primop's existence suggests it ties this exception throwing semantics regularly into IO |
2022-10-10 09:40:11 +0200 | <dminuoso> | So unIO'ing should not affect them |
2022-10-10 09:40:57 +0200 | <dminuoso> | Otherwise much of GHC.PrimopWrappers would not be usable inside IO |
2022-10-10 09:42:23 +0200 | arahael | (~arahael@61.68.183.79) (Ping timeout: 265 seconds) |
2022-10-10 09:42:37 +0200 | sammelweis_ | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-10-10 09:43:10 +0200 | titibandit | (~titibandi@xdsl-89-0-65-2.nc.de) (Remote host closed the connection) |
2022-10-10 09:43:54 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-10 09:46:02 +0200 | <johnw> | ok, it was something that turned up when searching for "semantics of GHC exceptions", but I haven't read it thoroughly |
2022-10-10 09:46:29 +0200 | kuribas | (~user@ptr-17d51ep16a0mmacta57.18120a2.ip6.access.telenet.be) |
2022-10-10 09:47:30 +0200 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
2022-10-10 09:48:44 +0200 | gmg | (~user@user/gehmehgeh) |
2022-10-10 09:50:20 +0200 | <kuribas> | Are haskellers absolutely insane? Is the only reason I like haskell because I am insane? |
2022-10-10 09:50:57 +0200 | <kuribas> | I just came across the Urbit jobpost, and then I found this: https://wejn.org/2021/02/urbit-good-bad-insane/ |
2022-10-10 09:52:26 +0200 | <kuribas> | But it seems like every other haskell job is like this, either a bitcoin scam, a fast financial speculation algorithm, or some loan algorithm to test for rich people. |
2022-10-10 09:52:40 +0200 | <kuribas> | It looks more than 50% even. |
2022-10-10 09:52:57 +0200 | chele | (~chele@user/chele) |
2022-10-10 09:53:07 +0200 | <kuribas> | I always somewhat believed in haskell, that you can use equational reasoning and scientific methods to get more correct programs. |
2022-10-10 09:54:10 +0200 | <kuribas> | Haskellers think of themselves as being superior to other languages, but where is the proof? Where are the people building stuff that beats stuff written in other languages? |
2022-10-10 09:54:52 +0200 | arahael | (~arahael@210.185.98.153) |
2022-10-10 09:55:08 +0200 | ph88 | (~ph88@2a02:8109:9e00:71d0:6e37:2605:3bb:94a8) (Ping timeout: 268 seconds) |
2022-10-10 09:55:37 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2022-10-10 09:57:35 +0200 | fserucas | (~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) |
2022-10-10 09:58:26 +0200 | <maerwald[m]> | The problem is idealistic people shitposting on every hiring thread |
2022-10-10 09:59:21 +0200 | <probie> | Hasura uses Haskell, and I haven't heard anything particularly bad about them |
2022-10-10 09:59:34 +0200 | tobiasBora | (~tobiasBor@109.190.253.14) |
2022-10-10 10:00:13 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2022-10-10 10:00:17 +0200 | <dminuoso> | .----------` |
2022-10-10 10:00:34 +0200 | <dminuoso> | Oops. Cleaning my keyboard sorry! |
2022-10-10 10:01:19 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
2022-10-10 10:02:02 +0200 | cfricke | (~cfricke@user/cfricke) |
2022-10-10 10:02:57 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-10-10 10:03:45 +0200 | <dr_merijn> | kuribas: Logistics for Target! |
2022-10-10 10:04:14 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-10 10:04:22 +0200 | <dminuoso> | Mmm, is there actually good reasons to use Data.Map in the presence of unordered-containers? |
2022-10-10 10:04:28 +0200 | <dr_merijn> | Also, (bike)parking facility occupation checking |
2022-10-10 10:04:52 +0200 | <dr_merijn> | dminuoso: Is there a good reason to use unordered-containers in the presence of Data.Map? |
2022-10-10 10:04:52 +0200 | <dminuoso> | Especially with k~String, Data.Map seems like an incredibly dull choice |
2022-10-10 10:04:53 +0200 | tobiasBora | (~tobiasBor@109.190.253.14) (Quit: Client closed) |
2022-10-10 10:05:13 +0200 | lucques | (~lucques@2a02:3033:41a:a07:fef7:a1b5:b24:6488) |
2022-10-10 10:05:19 +0200 | tobiasBora | (~tobiasBor@109.190.253.14) |
2022-10-10 10:05:27 +0200 | <dr_merijn> | Data.Map's complexity is much more predictable then unordered-containers |
2022-10-10 10:06:57 +0200 | <dminuoso> | With String you pay a very dear price on repeated char-per-char comparisons though |
2022-10-10 10:07:13 +0200 | <dminuoso> | If your map is of non-trivial size, this can be a limiting factor |
2022-10-10 10:09:07 +0200 | <dr_merijn> | I guess, but then you gotta hope String's Hashable is cheap and high quality (no clue, but I recall ghcide having problems due to a shitty Hashable instance being derived) |
2022-10-10 10:09:10 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-10-10 10:10:12 +0200 | <kuribas> | probie: yeah, but hasura basically amounts to throwing away all FP good practices, and implement a graphql API on the database directly. |
2022-10-10 10:10:24 +0200 | <dminuoso> | Well, due to how String works its a foldl' with some hashing functino over each character, where each characters ord is used as a hash itself |
2022-10-10 10:10:26 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-10 10:10:44 +0200 | <dminuoso> | (But you *can* use T.Text though) |
2022-10-10 10:11:26 +0200 | lucques | (~lucques@2a02:3033:41a:a07:fef7:a1b5:b24:6488) (Quit: Leaving) |
2022-10-10 10:11:43 +0200 | <dminuoso> | And for that its offloaded to https://github.com/haskell-unordered-containers/hashable/blob/master/cbits/fnv.c#L41-L49 |
2022-10-10 10:12:21 +0200 | <dminuoso> | So its just FNV1 directly on the bytearray buffer |
2022-10-10 10:12:25 +0200 | lucques | (~lucques@2a02:3033:41a:a07:fef7:a1b5:b24:6488) |
2022-10-10 10:13:28 +0200 | <dminuoso> | Extra benefit is that this will compile into an extremely tight loop on - if you have short keys - just as single cache line. |
2022-10-10 10:14:17 +0200 | lucques_ | (~lucques@2a02:3033:41a:a07:fef7:a1b5:b24:6488) |
2022-10-10 10:14:25 +0200 | lucques | (~lucques@2a02:3033:41a:a07:fef7:a1b5:b24:6488) (Client Quit) |
2022-10-10 10:15:17 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2022-10-10 10:15:54 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
2022-10-10 10:16:53 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2022-10-10 10:17:34 +0200 | <kuribas> | dr_merijn: you're not actually writing haskell, are you? |
2022-10-10 10:18:55 +0200 | <kuribas> | (for money) |
2022-10-10 10:19:22 +0200 | dminuoso | writes Haskell at his day job and it is not finance |
2022-10-10 10:19:44 +0200 | dminuoso | is writing a network protocol library right now |
2022-10-10 10:20:48 +0200 | <opqdonut> | can you guarantee the protocol won't be used for finance?-) |
2022-10-10 10:21:18 +0200 | <dminuoso> | Not unless someone decides to run a blockchain using RADIUS as an underlying network protocol. :> |
2022-10-10 10:21:26 +0200 | <dminuoso> | But we've all seen crazy... |
2022-10-10 10:21:38 +0200 | <dr_merijn> | kuribas: It Depends (TM) |
2022-10-10 10:22:07 +0200 | <dr_merijn> | I'm spending non-zero work hours writing Haskell, because no one can stop me :p |
2022-10-10 10:22:13 +0200 | ft | (~ft@p3e9bc57b.dip0.t-ipconnect.de) (Quit: leaving) |
2022-10-10 10:22:31 +0200 | <kuribas> | throw away scripts? |
2022-10-10 10:23:29 +0200 | <dr_merijn> | Depends on your definition of throwaway |
2022-10-10 10:23:38 +0200 | <dr_merijn> | And some of my colleagues are working on longer Haskell projects |
2022-10-10 10:23:45 +0200 | <kuribas> | ah cool |
2022-10-10 10:24:05 +0200 | [exa] | (exa@user/exa/x-3587197) |
2022-10-10 10:24:33 +0200 | <dr_merijn> | but getting funding to take that more seriously is tricky due to the way our budget(s) are allocated |
2022-10-10 10:26:22 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2022-10-10 10:31:19 +0200 | Kath42 | (~Kath42@174-21-171-250.tukw.qwest.net) (Remote host closed the connection) |
2022-10-10 10:33:23 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-10 10:34:24 +0200 | tobiasBora | (~tobiasBor@109.190.253.14) (Quit: Ping timeout (120 seconds)) |
2022-10-10 10:37:32 +0200 | MajorBiscuit | (~MajorBisc@145.94.167.158) |
2022-10-10 10:38:16 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:50e1:7448:ac98:298f) (Remote host closed the connection) |
2022-10-10 10:44:04 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2022-10-10 10:45:08 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-10-10 10:46:52 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 246 seconds) |
2022-10-10 10:48:24 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:4e96:406f:211e:cbd4) (Ping timeout: 264 seconds) |
2022-10-10 10:49:43 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2022-10-10 10:49:45 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-10 10:51:39 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-10-10 10:52:10 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 258 seconds) |
2022-10-10 10:54:56 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-10-10 10:56:58 +0200 | teo | (~teo@user/teo) |
2022-10-10 10:59:51 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 268 seconds) |
2022-10-10 11:01:21 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-10-10 11:02:32 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-10 11:10:00 +0200 | odnes | (~odnes@5-203-217-113.pat.nym.cosmote.net) |
2022-10-10 11:11:42 +0200 | burnsidesLlama | (~burnsides@client-8-82.eduroam.oxuni.org.uk) |
2022-10-10 11:14:35 +0200 | beteigeuze | (~Thunderbi@bl14-81-220.dsl.telepac.pt) |
2022-10-10 11:20:22 +0200 | nate1 | (~nate@98.45.169.16) |
2022-10-10 11:24:53 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-10 11:25:17 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
2022-10-10 11:26:36 +0200 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
2022-10-10 11:26:47 +0200 | adium | (adium@user/adium) (Ping timeout: 265 seconds) |
2022-10-10 11:29:07 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 248 seconds) |
2022-10-10 11:29:39 +0200 | burnsidesLlama | (~burnsides@client-8-82.eduroam.oxuni.org.uk) (Remote host closed the connection) |
2022-10-10 11:30:05 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2022-10-10 11:32:07 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-10-10 11:34:31 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-10-10 11:37:00 +0200 | lucques_ | (~lucques@2a02:3033:41a:a07:fef7:a1b5:b24:6488) (Ping timeout: 264 seconds) |
2022-10-10 11:38:38 +0200 | Taneb | (~Taneb@runciman.hacksoc.org) (Quit: I seem to have stopped.) |
2022-10-10 11:38:44 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:9960:b0f8:561f:a74b) |
2022-10-10 11:39:44 +0200 | Taneb | (~Taneb@runciman.hacksoc.org) |
2022-10-10 11:41:10 +0200 | burnsidesLlama | (~burnsides@client-8-82.eduroam.oxuni.org.uk) |
2022-10-10 11:43:26 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:9960:b0f8:561f:a74b) (Ping timeout: 260 seconds) |
2022-10-10 11:43:38 +0200 | razetime | (~quassel@117.193.4.83) (Ping timeout: 268 seconds) |
2022-10-10 11:44:08 +0200 | razetime | (~quassel@117.254.34.90) |
2022-10-10 11:47:55 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-10-10 11:48:04 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-10 11:49:09 +0200 | <kuribas> | Where can you find a haskell job that isn't bullshit blockchain crap? |
2022-10-10 11:49:27 +0200 | <kuribas> | are at least a job where they let me do some haskell, even if it's not the main thing. |
2022-10-10 11:49:37 +0200 | <dminuoso> | Do you have networking experience? |
2022-10-10 11:49:43 +0200 | dminuoso | knows a place :> |
2022-10-10 11:50:16 +0200 | <kuribas> | a bit |
2022-10-10 11:50:50 +0200 | <kuribas> | but I can learn :) |
2022-10-10 11:52:46 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
2022-10-10 11:53:08 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
2022-10-10 11:56:39 +0200 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2022-10-10 11:57:06 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2022-10-10 11:58:13 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2022-10-10 12:01:18 +0200 | kritzefitz | (~kritzefit@debian/kritzefitz) (Remote host closed the connection) |
2022-10-10 12:01:22 +0200 | Pickchea | (~private@user/pickchea) |
2022-10-10 12:01:41 +0200 | <kuribas> | dminuoso: are you hiring? |
2022-10-10 12:02:15 +0200 | kritzefitz | (~kritzefit@debian/kritzefitz) |
2022-10-10 12:09:49 +0200 | <probie> | Bellroy might still be hiring (they're an Australian company that sells wallets and bags, but their software is written Haskell) |
2022-10-10 12:13:29 +0200 | <vaibhavsagar[m]> | kuribas: Mercury (a banking stack for startups) is hiring - https://mercury.com/jobs |
2022-10-10 12:13:42 +0200 | CiaoSen | (~Jura@p200300c95700eb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-10-10 12:14:01 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds) |
2022-10-10 12:15:27 +0200 | <tdammers> | kuribas: going to events like zurihac, munihac, haskellxchange, etc., often unveils golden opportunities too |
2022-10-10 12:16:10 +0200 | <kuribas> | tdammers: yeah |
2022-10-10 12:16:39 +0200 | <tdammers> | though in general, it's still a relatively slow moving market, so you need to bring some patience to the table |
2022-10-10 12:18:46 +0200 | yuzhao | (~yuzhao@36.112.45.72) |
2022-10-10 12:18:59 +0200 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 265 seconds) |
2022-10-10 12:19:37 +0200 | <FlaminWalrus> | You can also grow the market yourself, and create jobs you're looking for. If you're struggling to find a job doing something you believe is economically valuable (such as making better, safer, faster, and more extensible software with Haskell), that means existing firms are leaving marginal utility on the table for you utilize. |
2022-10-10 12:20:01 +0200 | yuzhao | (~yuzhao@36.112.45.72) (Client Quit) |
2022-10-10 12:21:27 +0200 | <kuribas> | FlaminWalrus: I don't get that. firms only want to use "safe" stacks, like Java or javascript. |
2022-10-10 12:21:54 +0200 | <FlaminWalrus> | Yes. And if they're wrong for doing that, it's an opportunity for you to displace them. |
2022-10-10 12:21:56 +0200 | lucques | (~lucques@dynamic-046-114-088-103.46.114.pool.telefonica.de) |
2022-10-10 12:22:24 +0200 | <kuribas> | FlaminWalrus: My impression is that noone care. They all have their own "bubble" that they want to work in. |
2022-10-10 12:22:39 +0200 | <kuribas> | FlaminWalrus: Except if they are already invested in FP and static types. |
2022-10-10 12:22:40 +0200 | <tdammers> | that only works if you're in a position to found a startup, and equipped with the business skills to pull it off |
2022-10-10 12:23:54 +0200 | <tdammers> | I totally agree that in certain problem domains, Haskell can be a startup's secret superweapon, but even then, finding gaps in the market is a bit of a guessing game, and if you guess wrong, you'll have sunk a bunch of savings and a couple years of your life into a hopeless project |
2022-10-10 12:24:00 +0200 | <razetime> | are there any tools for finding fp related conferences nearby |
2022-10-10 12:24:04 +0200 | shriekingnoise | (~shrieking@186.137.167.202) (Quit: Quit) |
2022-10-10 12:25:17 +0200 | <razetime> | i only know about functionalconf, which happens once a year here. |
2022-10-10 12:28:19 +0200 | fserucas_ | (~fserucas@74.47.115.89.rev.vodafone.pt) |
2022-10-10 12:29:16 +0200 | fserucas | (~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) (Read error: Connection reset by peer) |
2022-10-10 12:29:58 +0200 | <dminuoso> | kuribas: Not actively at the moment. If someone already had good networking experience (L2/L3VPN over EVPN, general MP-BGP, that sort of thing) alongside, we would probably consider it. Equipping someone with these bits takes just a lot of time, especially because documentation is extremely sparse and poorly written. |
2022-10-10 12:31:04 +0200 | <kuribas> | dminuoso: yeah, that makes sense |
2022-10-10 12:31:47 +0200 | <FlaminWalrus> | tdammers: the market is a genetic algorithm for solving the problem of efficient production. Being the beneficial mutation isn't trival of course, but neither is finding a Haskell job, apparently. The fact remains that individuals accurately identifying inefficiencies and taking risks to resolve them is the only way any change occurs, full stop; I've found that pointing out to people that the market is 2-sided, with buyers and sellers, |
2022-10-10 12:31:47 +0200 | <FlaminWalrus> | and their woes as a seller (of labor, in this case) imply an opportunity for them to take advantage of a labor surplus as a buyer tends to actually _clarify_ reasoning about their sellers' woes. |
2022-10-10 12:32:32 +0200 | <tdammers> | of course. all I'm saying is that it takes more than just the right idea at the right time to succeed as a startup founder |
2022-10-10 12:33:04 +0200 | adium | (adium@user/adium) |
2022-10-10 12:33:38 +0200 | <tdammers> | it's not enough to figure out how to make electric light; you also need the business instincts of a Mr Edison to make it into a viable business |
2022-10-10 12:33:58 +0200 | <FlaminWalrus> | Absolutely. However, the requisite capital and management competence can be bought, provided the parties can be convinced of the soundness of the idea. |
2022-10-10 12:34:32 +0200 | <FlaminWalrus> | E.g. an inventor's retainer-royalty model |
2022-10-10 12:34:34 +0200 | <tdammers> | which means you need to be enough of a salesperson to sell the idea |
2022-10-10 12:34:53 +0200 | __monty__ | (~toonn@user/toonn) |
2022-10-10 12:35:55 +0200 | <tdammers> | I have literally been in this position, where I had an idea (build a semi-automatic legal reasoning system to enable computer-aided workflows for lawyers and paralegals), but failed to sell it to the right people, and then a couple months later a startup somewhere did exactly that, independently. |
2022-10-10 12:36:52 +0200 | <FlaminWalrus> | Would it have been better had you not tried to sell it? |
2022-10-10 12:37:14 +0200 | <tdammers> | the result would have been the exact same, minus some effort on my side |
2022-10-10 12:37:38 +0200 | kdaishi | (~Thunderbi@2a0c:5bc0:40:2e2f:b6bb:664c:380b:dc65) |
2022-10-10 12:38:15 +0200 | <kuribas> | tdammers: yeah, having good salepeople is possible more important than having robust software. |
2022-10-10 12:38:21 +0200 | <kuribas> | sadly |
2022-10-10 12:38:58 +0200 | <tdammers> | I mean, I could have sunk a lot more effort into the "selling" part, you know, find the right lawyer person to team up with, build some kind of POC, and then go door to door with it until someone bites |
2022-10-10 12:39:34 +0200 | <kuribas> | tdammers: s/could/should |
2022-10-10 12:40:04 +0200 | <tdammers> | actually, s/could/couldn't/, because I was not in a position to sink several months' worth of unpaid full-time labor into it |
2022-10-10 12:40:38 +0200 | <FlaminWalrus> | That's the niche venture capital exists to fill |
2022-10-10 12:40:54 +0200 | <tdammers> | nobody is throwing VC at you for just an idea |
2022-10-10 12:41:20 +0200 | <FlaminWalrus> | I believe that is mostly the point, no? |
2022-10-10 12:41:39 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.5) |
2022-10-10 12:41:53 +0200 | <tdammers> | you don't have to have a viable business yet, but you still have to have enough to convince them that you're committed, and that there's more to it than a shower thought |
2022-10-10 12:42:05 +0200 | <FlaminWalrus> | You might need some market research, to do the convincing that the spot in the market exists |
2022-10-10 12:42:10 +0200 | frost | (~frost@user/frost) (Ping timeout: 252 seconds) |
2022-10-10 12:42:25 +0200 | <FlaminWalrus> | What was the biotech company that was a literal scam and got tens of billions? |
2022-10-10 12:42:41 +0200 | <FlaminWalrus> | The one that promised a machine to do like 10-in-1 blood tests? |
2022-10-10 12:43:13 +0200 | <FlaminWalrus> | The requirements to exhibit an actual technical solution are slimmer than you might think |
2022-10-10 12:43:36 +0200 | <FlaminWalrus> | Theranos, that was it |
2022-10-10 12:43:40 +0200 | <tdammers> | maybe |
2022-10-10 12:44:50 +0200 | <FlaminWalrus> | (raised $400M$, valued at $9B) |
2022-10-10 12:45:16 +0200 | <tdammers> | but even then, you still have to do a lot of work to get anywhere |
2022-10-10 12:45:36 +0200 | <FlaminWalrus> | That's as close to a sociological axiom as anything I've heard |
2022-10-10 12:46:37 +0200 | <tdammers> | point being, you won't get VC on just the idea. you have to actively reach out to a lot of people, you have to prepare something like a business plan, you have to do market research, etc. etc. |
2022-10-10 12:46:56 +0200 | <tdammers> | all that is a gamble, it's not guaranteed at all that anyone will bite |
2022-10-10 12:47:33 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-10 12:48:01 +0200 | <FlaminWalrus> | You'll have to do a lot of work and take on a lot of risk regardless; being fatalist about the possibility of founding a company is counterproductive. Does one value that work and risk more than the continuation of the status quo or not? |
2022-10-10 12:49:05 +0200 | <tdammers> | Getting a job tends to come with a much smaller risk. Just saying. |
2022-10-10 12:49:20 +0200 | <dminuoso> | Continuation ruins lifes. GHC should emit danger warnings when using them. |
2022-10-10 12:49:41 +0200 | <__monty__> | Yeah, much better to get closure. |
2022-10-10 12:49:48 +0200 | <dminuoso> | I was nearly convinced it would improve the reading style. Turns out, I cant even figure out how to write them right. |
2022-10-10 12:50:25 +0200 | kdaishi | (~Thunderbi@2a0c:5bc0:40:2e2f:b6bb:664c:380b:dc65) (Read error: Connection reset by peer) |
2022-10-10 12:50:34 +0200 | kdaishi1 | (~Thunderbi@2a0c:5bc0:40:2e2f:b6bb:664c:380b:dc65) |
2022-10-10 12:52:01 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds) |
2022-10-10 12:52:53 +0200 | kdaishi1 | kdaishi |
2022-10-10 12:53:58 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2022-10-10 12:54:20 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Remote host closed the connection) |
2022-10-10 12:55:44 +0200 | burnsidesLlama | (~burnsides@client-8-82.eduroam.oxuni.org.uk) (Remote host closed the connection) |
2022-10-10 12:56:38 +0200 | M3g-mentok[m] | (~M3g-mento@2001:470:69fc:105::2:9a49) |
2022-10-10 13:00:51 +0200 | frost | (~frost@user/frost) |
2022-10-10 13:01:47 +0200 | jinsun__ | (~jinsun@user/jinsun) |
2022-10-10 13:01:47 +0200 | jinsun | (~jinsun@user/jinsun) (Killed (iridium.libera.chat (Nickname regained by services))) |
2022-10-10 13:01:47 +0200 | jinsun__ | jinsun |
2022-10-10 13:04:57 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-10-10 13:04:57 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Read error: Connection reset by peer) |
2022-10-10 13:09:29 +0200 | raehik1 | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-10-10 13:14:31 +0200 | yuzhao | (~yuzhao@36.112.45.72) |
2022-10-10 13:14:45 +0200 | qrpnxz | (~qrpnxz@fsf/member/qrpnxz) (Ping timeout: 252 seconds) |
2022-10-10 13:15:10 +0200 | qrpnxz | (~qrpnxz@fsf/member/qrpnxz) |
2022-10-10 13:16:11 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2022-10-10 13:17:56 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-10 13:22:05 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds) |
2022-10-10 13:22:47 +0200 | chomwitt | (~chomwitt@2a02:587:dc0c:c200:b8b0:dc:a578:bfaa) |
2022-10-10 13:23:12 +0200 | yuzhao | (~yuzhao@36.112.45.72) (Ping timeout: 264 seconds) |
2022-10-10 13:23:42 +0200 | kenran | (~user@user/kenran) (Remote host closed the connection) |
2022-10-10 13:24:26 +0200 | yuzhao | (~yuzhao@36.112.45.72) |
2022-10-10 13:26:14 +0200 | kenran | (~user@user/kenran) |
2022-10-10 13:27:31 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2022-10-10 13:32:46 +0200 | kdaishi | (~Thunderbi@2a0c:5bc0:40:2e2f:b6bb:664c:380b:dc65) (Ping timeout: 246 seconds) |
2022-10-10 13:41:30 +0200 | <tomsmeding> | dminuoso: as in the Cont monad, or continuations in general? |
2022-10-10 13:43:32 +0200 | dextaa | (~dextaa@user/dextaa) (Remote host closed the connection) |
2022-10-10 13:44:23 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:9618:2735:ae9e:6c5) |
2022-10-10 13:47:12 +0200 | yuzhao | (~yuzhao@36.112.45.72) (Ping timeout: 264 seconds) |
2022-10-10 13:50:11 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-10 13:50:32 +0200 | nate1 | (~nate@98.45.169.16) |
2022-10-10 13:50:41 +0200 | yuzhao | (~yuzhao@36.112.45.72) |
2022-10-10 13:50:56 +0200 | <kuribas> | OMG, like 90% of the interesting haskell jobs turn out to be "blockchain" solutions. |
2022-10-10 13:51:15 +0200 | <tdammers> | follow the money |
2022-10-10 13:51:48 +0200 | <dr_merijn> | Incorrect |
2022-10-10 13:51:58 +0200 | <dr_merijn> | 90% of publically advertised Haskell jobs are blockchain :p |
2022-10-10 13:52:03 +0200 | <dr_merijn> | That's not the same thing |
2022-10-10 13:52:23 +0200 | <tdammers> | and yeah, that |
2022-10-10 13:52:26 +0200 | <dr_merijn> | The non-quack jobs get filled fast (potentially before being advertised, even) |
2022-10-10 13:52:35 +0200 | <dr_merijn> | So only the quack jobs remain to fill the listings |
2022-10-10 13:52:47 +0200 | <tdammers> | this goes for all programming jobs, really |
2022-10-10 13:52:56 +0200 | <tdammers> | the publicly advertised ones are "leftovers" |
2022-10-10 13:52:57 +0200 | <dr_merijn> | You could move to Alaska, if those guys are still looking? xD |
2022-10-10 13:53:48 +0200 | raehik1 | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds) |
2022-10-10 13:55:33 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
2022-10-10 13:55:45 +0200 | yuzhao | (~yuzhao@36.112.45.72) (Ping timeout: 268 seconds) |
2022-10-10 13:55:51 +0200 | <tomsmeding> | O.o |
2022-10-10 13:55:52 +0200 | raehik1 | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-10-10 13:57:13 +0200 | <dr_merijn> | I think that was Target too? |
2022-10-10 13:57:28 +0200 | Lycurgus | (~juan@user/Lycurgus) |
2022-10-10 13:57:38 +0200 | <dr_merijn> | It was basically "Alaska, no remote, but we're so desperate we'll even take people with no Haskell experience and teach you" :p |
2022-10-10 13:58:21 +0200 | <tdammers> | desperate enough to teach people Haskell, but not so desperate as to teach people video chat and email |
2022-10-10 13:59:56 +0200 | Lycurgus | (~juan@user/Lycurgus) (Client Quit) |
2022-10-10 14:00:25 +0200 | <kuribas> | lol |
2022-10-10 14:02:29 +0200 | <hpc> | that's pretty standard |
2022-10-10 14:03:00 +0200 | <hpc> | like being desperate to hire more people, but not desperate enough to leave a job posting open after it's been filled |
2022-10-10 14:04:15 +0200 | frost | (~frost@user/frost) (Quit: Client closed) |
2022-10-10 14:04:53 +0200 | <dr_merijn> | My current org stopped posting jobs and applications rounds at all, since the applicant quality was so low, simply moved to "always hiring" and largely through word of mouth |
2022-10-10 14:05:00 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 268 seconds) |
2022-10-10 14:05:02 +0200 | <tdammers> | or "we would really really like to hire you, and we can offer you more money, but you have to come in to work at 9:00 sharp, 9:15 is entirely impossible, no matter how reasonable your reasons" |
2022-10-10 14:06:17 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) |
2022-10-10 14:07:46 +0200 | <hpc> | and not 8:59, excepting that thou proceed directly to 9:00 :P |
2022-10-10 14:08:39 +0200 | <tdammers> | I actually declined the job because they wouldn't budge on that one |
2022-10-10 14:09:39 +0200 | <hpc> | i had something like that for a java job where they used macs exclusively - no linux or windows and you had to use eclipse too |
2022-10-10 14:10:02 +0200 | <hpc> | so i would have been stuck learning to press windows-1 whenever i wanted to autocomplete something :( |
2022-10-10 14:10:36 +0200 | beteigeuze | (~Thunderbi@bl14-81-220.dsl.telepac.pt) (Ping timeout: 264 seconds) |
2022-10-10 14:10:49 +0200 | <tdammers> | "here's your work computer, no you cannot have root, no you cannot install anything on it, if you need anything, just tell us, and we'll install it for you within 6 work days" |
2022-10-10 14:11:07 +0200 | <tdammers> | (where "tell us" means "file a ticket", and "within 6 work days" means "whenever we feel like it") |
2022-10-10 14:11:22 +0200 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) (Quit: o/) |
2022-10-10 14:11:51 +0200 | <hpc> | 6 to 8 business weeks |
2022-10-10 14:12:32 +0200 | <tdammers> | also the timer doesn't start ticking until you boss has signed off on your request |
2022-10-10 14:12:48 +0200 | <hpc> | s/your boss/the change management team/ |
2022-10-10 14:15:06 +0200 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) |
2022-10-10 14:15:32 +0200 | <tomsmeding> | shove in a linux live usb |
2022-10-10 14:16:19 +0200 | <tomsmeding> | the easiest way to get root on your work machine here at my place seems to be to request linux (as opposed to the standard, which is windows) |
2022-10-10 14:21:48 +0200 | mixphix | (~mixphix@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Quit: leaving) |
2022-10-10 14:23:06 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2022-10-10 14:24:19 +0200 | leah2 | (~leah@vuxu.org) (Ping timeout: 244 seconds) |
2022-10-10 14:25:22 +0200 | leah2 | (~leah@vuxu.org) |
2022-10-10 14:25:41 +0200 | leah2 | (~leah@vuxu.org) (Remote host closed the connection) |
2022-10-10 14:25:41 +0200 | yuzhao | (~yuzhao@36.112.45.72) |
2022-10-10 14:27:56 +0200 | leah2 | (~leah@vuxu.org) |
2022-10-10 14:29:13 +0200 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
2022-10-10 14:29:28 +0200 | ozkutuk | (~ozkutuk@176.240.173.153) |
2022-10-10 14:35:48 +0200 | leah2 | (~leah@vuxu.org) (Ping timeout: 264 seconds) |
2022-10-10 14:39:56 +0200 | <dminuoso> | tomsmeding: manual continuations. |
2022-10-10 14:40:12 +0200 | <dminuoso> | But it turns out writing myself some `newtype ExStateT s e m a = ExStateT { runExStateT :: forall r. s -> (e -> m r) -> (s -> a -> m r) -> m r }` makes me go sane again. |
2022-10-10 14:40:21 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2022-10-10 14:40:50 +0200 | <dminuoso> | Come to think of it, the `m` is quite useless. |
2022-10-10 14:41:30 +0200 | <dminuoso> | I suppose its just convenient for stacking transformers, but I dont use those. |
2022-10-10 14:42:07 +0200 | <dminuoso> | Continuations are best hidden from code logic, they make most code very incomprehensible. |
2022-10-10 14:42:13 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 250 seconds) |
2022-10-10 14:44:44 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2022-10-10 14:46:16 +0200 | <tomsmeding> | dminuoso: have you ever spoken with JS developers? Callbacks are their breakfast and callbacks = continuations |
2022-10-10 14:47:05 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-10-10 14:47:21 +0200 | <tomsmeding> | I don't find continuations very unreadable but that's mosty in the case where there's exactly one; i.e. where you haven't CPS'ed a sum type |
2022-10-10 14:47:25 +0200 | <dminuoso> | In a strict language they tend to be not as harmful |
2022-10-10 14:47:30 +0200 | <dr_merijn> | tomsmeding: Callbacks are continuations, but worse :p |
2022-10-10 14:47:49 +0200 | leah2 | (~leah@vuxu.org) |
2022-10-10 14:49:19 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-10-10 14:50:32 +0200 | <dminuoso> | I mean evil constructs like callCC just dont really exist in JavaScript. |
2022-10-10 14:53:41 +0200 | odnes_ | (~odnes@5-203-217-113.pat.nym.cosmote.net) |
2022-10-10 14:55:44 +0200 | disco-dave[m] | (~disco-dav@2001:470:69fc:105::2:1892) |
2022-10-10 14:55:56 +0200 | <kuribas> | you need to understand continuations in order to read ghc assembly code. |
2022-10-10 14:56:48 +0200 | odnes | (~odnes@5-203-217-113.pat.nym.cosmote.net) (Ping timeout: 264 seconds) |
2022-10-10 14:58:23 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-10-10 15:01:23 +0200 | burnsidesLlama | (~burnsides@client-8-82.eduroam.oxuni.org.uk) |
2022-10-10 15:02:02 +0200 | <dminuoso> | Speaking of continuations, say Im using `Data.HashMap.lookup :: (Eq k, Hashable k) => k -> HashMap k v -> Maybe v` - is there some trick to ensure no intermediate Just/Nothing will actually be created? |
2022-10-10 15:02:34 +0200 | <kuribas> | dminuoso: look at core to see if it is actually created? |
2022-10-10 15:03:09 +0200 | <kuribas> | that depends on lookup being inlined though... |
2022-10-10 15:03:31 +0200 | <dminuoso> | Well, Im rather interested in tractable optimizations |
2022-10-10 15:03:33 +0200 | <kuribas> | dminuoso: but then, is this really a bottleneck? |
2022-10-10 15:03:42 +0200 | <dminuoso> | No, this is just exploration |
2022-10-10 15:04:01 +0200 | <dminuoso> | lookup# :: (Eq k, Hashable k) => k -> HashMap k v -> (# (# #) | v #) |
2022-10-10 15:04:18 +0200 | <dminuoso> | Mmm. |
2022-10-10 15:04:34 +0200 | <kuribas> | why even bother then |
2022-10-10 15:04:37 +0200 | <dminuoso> | It's a shame all these libraries do not expose their internals |
2022-10-10 15:04:43 +0200 | <dminuoso> | Because it's fun? |
2022-10-10 15:05:41 +0200 | <dminuoso> | But to be fair, in a high volume situation, this is likely a a problem yes. Im encoding an Int-indexed tree as a recursive HashMap |
2022-10-10 15:05:54 +0200 | <dminuoso> | So to descend the tree, I will do a lot of nested M.lookup |
2022-10-10 15:07:17 +0200 | <kuribas> | hard to say without profiling |
2022-10-10 15:07:45 +0200 | <dminuoso> | Sure, but as I have pointed out the primary reason is not an actual performance concern. |
2022-10-10 15:10:34 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-10-10 15:12:52 +0200 | razetime | (~quassel@117.254.34.90) (Ping timeout: 246 seconds) |
2022-10-10 15:22:20 +0200 | <dr_merijn> | dminuoso: How high volume? |
2022-10-10 15:22:47 +0200 | jero98772 | (~jero98772@2800:484:1d80:d8ce:3490:26c5:1782:da8c) |
2022-10-10 15:25:35 +0200 | lucques | (~lucques@dynamic-046-114-088-103.46.114.pool.telefonica.de) (Ping timeout: 268 seconds) |
2022-10-10 15:27:10 +0200 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
2022-10-10 15:28:47 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
2022-10-10 15:31:16 +0200 | <ski> | dminuoso : do you have left-nested/associated `(>>=)' on `Maybe' ? |
2022-10-10 15:34:16 +0200 | MajorBiscuit | (~MajorBisc@145.94.167.158) (Ping timeout: 268 seconds) |
2022-10-10 15:34:53 +0200 | ph88 | (~ph88@2a02:8109:9e00:71d0:7166:ab0e:b806:c76c) |
2022-10-10 15:35:33 +0200 | tgi | (~tgi@189.180.118.117) |
2022-10-10 15:35:35 +0200 | <lyxia> | Are there other examples of lazy data structures with a complexity proof using Okasaki's banker's method besides the queues from his thesis? |
2022-10-10 15:40:49 +0200 | burnsidesLlama | (~burnsides@client-8-82.eduroam.oxuni.org.uk) (Read error: Connection reset by peer) |
2022-10-10 15:42:27 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:9960:b0f8:561f:a74b) |
2022-10-10 15:43:42 +0200 | burnsidesLlama | (~burnsides@client-8-82.eduroam.oxuni.org.uk) |
2022-10-10 15:46:54 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:9960:b0f8:561f:a74b) (Ping timeout: 264 seconds) |
2022-10-10 15:47:05 +0200 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-10-10 15:47:17 +0200 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 252 seconds) |
2022-10-10 15:49:52 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-10-10 15:49:52 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-10-10 15:49:52 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-10-10 15:50:01 +0200 | <dminuoso> | ski: Are you thinking of codensity? |
2022-10-10 15:50:10 +0200 | causal | (~user@50.35.83.177) |
2022-10-10 15:50:19 +0200 | <dminuoso> | And yes |
2022-10-10 15:52:14 +0200 | <ski> | yes. and also of "Multi-return function call" by Olin Shivers,David Fisher in 2004-09,2006-0[79] at <https://www.ccs.neu.edu/home/shivers/citations.html#mrlc> |
2022-10-10 15:53:04 +0200 | <ski> | (which is what i think of, cue the term "unboxed sum type" .. not being what `UnboxedSumTypes' give you) |
2022-10-10 15:54:30 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2022-10-10 15:54:38 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Client Quit) |
2022-10-10 16:05:37 +0200 | zaquest | (~notzaques@5.130.79.72) (Ping timeout: 252 seconds) |
2022-10-10 16:05:47 +0200 | odnes__ | (~odnes@5-203-217-113.pat.nym.cosmote.net) |
2022-10-10 16:06:19 +0200 | odnes_ | (~odnes@5-203-217-113.pat.nym.cosmote.net) (Read error: Connection reset by peer) |
2022-10-10 16:08:16 +0200 | jero98772 | (~jero98772@2800:484:1d80:d8ce:3490:26c5:1782:da8c) (Ping timeout: 260 seconds) |
2022-10-10 16:10:01 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
2022-10-10 16:17:49 +0200 | zaquest | (~notzaques@5.130.79.72) |
2022-10-10 16:17:54 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:9618:2735:ae9e:6c5) (Quit: WeeChat 2.8) |
2022-10-10 16:18:35 +0200 | zer0bitz | (~zer0bitz@2001:2003:f748:2000:bc16:3d64:146f:ea3e) |
2022-10-10 16:20:56 +0200 | jero98772 | (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) |
2022-10-10 16:21:17 +0200 | nshepperd2 | (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) (Quit: Ping timeout (120 seconds)) |
2022-10-10 16:21:35 +0200 | beteigeuze | (~Thunderbi@bl14-81-220.dsl.telepac.pt) |
2022-10-10 16:24:21 +0200 | nshepperd2 | (~nshepperd@li364-218.members.linode.com) |
2022-10-10 16:29:52 +0200 | rosalind | (rosalind@id-194105.uxbridge.irccloud.com) (Quit: bbl) |
2022-10-10 16:30:27 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2022-10-10 16:33:09 +0200 | jinsun | Guest8471 |
2022-10-10 16:33:09 +0200 | jinsun__ | (~jinsun@user/jinsun) |
2022-10-10 16:33:10 +0200 | Guest8471 | (~jinsun@user/jinsun) (Killed (copper.libera.chat (Nickname regained by services))) |
2022-10-10 16:33:10 +0200 | jinsun__ | jinsun |
2022-10-10 16:38:35 +0200 | razetime | (~quassel@117.254.34.90) |
2022-10-10 16:39:25 +0200 | kenran | (~user@user/kenran) (Remote host closed the connection) |
2022-10-10 16:42:13 +0200 | natechan | (~nate@98.45.169.16) |
2022-10-10 16:43:35 +0200 | zns | (~zns@user/zns) |
2022-10-10 16:45:45 +0200 | dr_merijn | (~dr_merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
2022-10-10 16:46:24 +0200 | lucques | (~lucques@dynamic-046-114-088-103.46.114.pool.telefonica.de) |
2022-10-10 16:47:19 +0200 | burnsidesLlama | (~burnsides@client-8-82.eduroam.oxuni.org.uk) (Remote host closed the connection) |
2022-10-10 16:49:36 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::a80f) (Ping timeout: 264 seconds) |
2022-10-10 16:53:43 +0200 | rosalind | (rosalind@id-194105.uxbridge.irccloud.com) |
2022-10-10 16:54:48 +0200 | jespada | (~jespada@nmal-24-b2-v4wan-166357-cust1764.vm24.cable.virginm.net) (Read error: Connection reset by peer) |
2022-10-10 16:55:30 +0200 | jespada | (~jespada@nmal-24-b2-v4wan-166357-cust1764.vm24.cable.virginm.net) |
2022-10-10 17:03:12 +0200 | zns | (~zns@user/zns) (Quit: zzz) |
2022-10-10 17:03:27 +0200 | zns | (~zns@user/zns) |
2022-10-10 17:04:37 +0200 | zns | (~zns@user/zns) (Client Quit) |
2022-10-10 17:04:58 +0200 | Midjak | (~Midjak@82.66.147.146) (Ping timeout: 268 seconds) |
2022-10-10 17:09:42 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-10-10 17:11:54 +0200 | dr_merijn | (~dr_merijn@86-86-29-250.fixed.kpn.net) |
2022-10-10 17:18:37 +0200 | lucques | (~lucques@dynamic-046-114-088-103.46.114.pool.telefonica.de) (Quit: Leaving) |
2022-10-10 17:18:58 +0200 | <dminuoso> | The haddock of unsafeDupablePerformIO mentions "It may even happen that one of the duplicated IO actions is only run partially, and then interrupted in the middle without an exception being raised" |
2022-10-10 17:19:20 +0200 | <dminuoso> | What might cause such an IO action to only run partially? |
2022-10-10 17:20:35 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2022-10-10 17:21:04 +0200 | nate1 | (~nate@98.45.169.16) |
2022-10-10 17:21:25 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-10-10 17:22:48 +0200 | zer0bitz_ | (~zer0bitz@2001:2003:f748:2000:bc16:3d64:146f:ea3e) |
2022-10-10 17:22:56 +0200 | zer0bitz | (~zer0bitz@2001:2003:f748:2000:bc16:3d64:146f:ea3e) (Ping timeout: 260 seconds) |
2022-10-10 17:23:46 +0200 | <EvanR> | is there ever a guarantee that a complex IO action runs "all the way"? |
2022-10-10 17:24:18 +0200 | <EvanR> | why transactions exist etc |
2022-10-10 17:26:30 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
2022-10-10 17:27:42 +0200 | <EvanR> | sorry that doesn't explain any additional inexplicable "ghosting" ghc might do to your actions |
2022-10-10 17:31:59 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2022-10-10 17:32:13 +0200 | <c_wraith> | I suspect it has to do with two threads both entering the thunk and then one of them getting canceled after the other completes. |
2022-10-10 17:32:52 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-10-10 17:33:59 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2022-10-10 17:35:04 +0200 | <EvanR> | treat my IO action as pure, very pure |
2022-10-10 17:39:03 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:9960:b0f8:561f:a74b) |
2022-10-10 17:40:19 +0200 | odnes__ | (~odnes@5-203-217-113.pat.nym.cosmote.net) (Quit: Leaving) |
2022-10-10 17:40:24 +0200 | kenran | (~user@user/kenran) |
2022-10-10 17:43:02 +0200 | son0p | (~ff@181.136.122.143) |
2022-10-10 17:43:38 +0200 | <dminuoso> | c_wraith: Does GHC have some such signalling mechanism? |
2022-10-10 17:43:49 +0200 | <dminuoso> | Or is it just some theoretical construct that, at some point, may be added? |
2022-10-10 17:45:15 +0200 | <geekosaur> | actually IIRC it's a construct that was removed |
2022-10-10 17:46:29 +0200 | <geekosaur> | they decided that racing two identical pure (or "pure" given unsafeDupablePerformIO) actions was cheaper than either locking or canceling one on completion of the other |
2022-10-10 17:47:17 +0200 | <c_wraith> | Pieces for it exist - <<loop>> detection still involves tracking what thunks a blocked thread has entered. But I wouldn't be surprised that it was determined too expensive to clean up the non-deadlock cases |
2022-10-10 17:47:21 +0200 | nate1 | (~nate@98.45.169.16) |
2022-10-10 17:47:51 +0200 | rosalind | (rosalind@id-194105.uxbridge.irccloud.com) (Quit: Yawn) |
2022-10-10 17:48:06 +0200 | <EvanR> | so basically, if evaluating something once is good. Twice might be better |
2022-10-10 17:48:12 +0200 | <EvanR> | two evaluations is better than one |
2022-10-10 17:48:23 +0200 | <geekosaur> | not so much better as irrelevant |
2022-10-10 17:48:38 +0200 | <geekosaur> | and preventing it more expensive than letting it happen |
2022-10-10 17:48:44 +0200 | <EvanR> | interesting |
2022-10-10 17:49:27 +0200 | <dminuoso> | So even the possibility of being aborted (!) has some subtle side effects. This means I have to be super careful how memory allocation occurs. |
2022-10-10 17:49:44 +0200 | <lyxia> | maybe there are also weird exit conditions in FFI |
2022-10-10 17:50:02 +0200 | <geekosaur> | there is such a thing as interruptible FFI |
2022-10-10 17:50:26 +0200 | <geekosaur> | (GHC extension not specified in the standard) |
2022-10-10 17:50:45 +0200 | <dminuoso> | But interruptible is just something with respect to mask right? |
2022-10-10 17:50:59 +0200 | <geekosaur> | but honestly, if you';re doing unsafe*PerformIO, you shouldn't be doing allocation |
2022-10-10 17:51:03 +0200 | <dminuoso> | The mere wording of unsafeDupablePerformIO suggests that if its aborted, the mechanism might not even be an async exception. |
2022-10-10 17:51:11 +0200 | <dminuoso> | (as that would be catchable by bracket) |
2022-10-10 17:51:12 +0200 | mr_mxyzptlk | (~Srain@2806:266:48a:240:a579:dfff:fd47:c997) |
2022-10-10 17:51:33 +0200 | <geekosaur> | iirc it's actually a signal, since C calls have no clue about masks or etc. |
2022-10-10 17:52:29 +0200 | <c_wraith> | geekosaur: unsafe IO allocating isn't a big deal unless you're using the evil version from bytestring. |
2022-10-10 17:53:04 +0200 | <c_wraith> | geekosaur: if your code can leak foreign memory on exceptions, it can do that whether you use unsafePerformIO or not |
2022-10-10 17:53:41 +0200 | <geekosaur> | true |
2022-10-10 17:53:54 +0200 | <dminuoso> | c_wraith: If I infer some comments from dfeuer correctly, if you use unsafeDupablePerformIO, allocate unpinned memory and then get cancelled you [have leaked memory] |
2022-10-10 17:54:43 +0200 | <c_wraith> | unpinned.. foreign memory? I might believe that. But normal GHC allocation is also unpinned. :P |
2022-10-10 17:54:47 +0200 | zebra | (~zebra@202.91.42.5) |
2022-10-10 17:54:58 +0200 | <dminuoso> | Things like allocaBytes are pinned though. |
2022-10-10 17:55:43 +0200 | kenran | (~user@user/kenran) (Remote host closed the connection) |
2022-10-10 17:55:46 +0200 | MajorBiscuit | (~MajorBisc@145.94.167.158) |
2022-10-10 17:55:54 +0200 | MajorBiscuit | (~MajorBisc@145.94.167.158) (Client Quit) |
2022-10-10 17:56:05 +0200 | <EvanR> | how does one lose unpinned memory |
2022-10-10 17:56:13 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2022-10-10 17:56:28 +0200 | <c_wraith> | Yeah, but I want to make a point in the other direction. *any* allocation inside bytestring's evil unsafe IO is fragile. Even GHC's own allocation. |
2022-10-10 17:56:45 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2022-10-10 17:57:00 +0200 | <dminuoso> | Well, Im just talking unsafeDupablePerformIO, but accursedUnutterablePerform. The latter is completely evil for different reasons. |
2022-10-10 17:57:06 +0200 | <dminuoso> | s/but/not/ |
2022-10-10 17:57:48 +0200 | <dminuoso> | EvanR: I do not know, honestly. Im tempted to poke dfeuer and see whether he can clarify |
2022-10-10 17:58:00 +0200 | <dminuoso> | https://stackoverflow.com/a/64398915 |
2022-10-10 17:58:03 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds) |
2022-10-10 17:58:05 +0200 | <dminuoso> | This was his message, for clarity |
2022-10-10 17:59:10 +0200 | <EvanR> | that looks like malloc |
2022-10-10 17:59:13 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.6) |
2022-10-10 17:59:22 +0200 | <EvanR> | if you malloc something, then get aborted yeah |
2022-10-10 18:00:10 +0200 | <dminuoso> | His wording strongly suggests its not about malloc, its about pinned or unpinned memory |
2022-10-10 18:01:11 +0200 | <dminuoso> | [...] the instances defined in memory all seem fine—they too allocate pinned memory. But the class does not document this as a requirement [...] |
2022-10-10 18:01:15 +0200 | <EvanR> | no one mentions unpinned memory at any point, as if it's not even a thing xD |
2022-10-10 18:01:28 +0200 | <dminuoso> | Heh |
2022-10-10 18:03:00 +0200 | <c_wraith> | well, foreign buffers are the big deal. and an unpinned foreign buffer is... not something I see a use for offhand |
2022-10-10 18:03:46 +0200 | <dminuoso> | Fair, those make perfecft sense without second thought. |
2022-10-10 18:07:54 +0200 | zns | (~zns@user/zns) |
2022-10-10 18:08:59 +0200 | zns | (~zns@user/zns) (Client Quit) |
2022-10-10 18:09:10 +0200 | zns | (~zns@user/zns) |
2022-10-10 18:09:24 +0200 | CiaoSen | (~Jura@p200300c95700eb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
2022-10-10 18:10:12 +0200 | nschoe | (~q@141.101.51.197) |
2022-10-10 18:13:16 +0200 | <dminuoso> | So mallocForeignPtrBtes seems benign inside unsafeDupablePerformIO, since its just newPinnedByteArray# under the hood. |
2022-10-10 18:13:27 +0200 | <dminuoso> | *mallocForeignPtrBytes |
2022-10-10 18:13:34 +0200 | coot | (~coot@213.134.171.3) |
2022-10-10 18:13:35 +0200 | zebra | (~zebra@202.91.42.5) (Quit: Client closed) |
2022-10-10 18:13:57 +0200 | hochata | (~user@user/hochata) |
2022-10-10 18:15:32 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:9960:b0f8:561f:a74b) (Remote host closed the connection) |
2022-10-10 18:18:16 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:6640:d6a5:6547:23ed) |
2022-10-10 18:18:36 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-34.elisa-laajakaista.fi) |
2022-10-10 18:19:10 +0200 | coot | (~coot@213.134.171.3) (Remote host closed the connection) |
2022-10-10 18:19:31 +0200 | zebra | (~zebra@202.91.41.13) |
2022-10-10 18:21:00 +0200 | kuribas | (~user@ptr-17d51ep16a0mmacta57.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
2022-10-10 18:23:19 +0200 | Midjak | (~Midjak@82.66.147.146) |
2022-10-10 18:27:15 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2022-10-10 18:28:46 +0200 | Franciman | (~Franciman@mx1.fracta.dev) (Read error: Connection reset by peer) |
2022-10-10 18:30:48 +0200 | michalz | (~michalz@185.246.207.205) |
2022-10-10 18:32:32 +0200 | jinsun__ | (~jinsun@user/jinsun) |
2022-10-10 18:32:32 +0200 | jinsun | Guest4490 |
2022-10-10 18:32:32 +0200 | Guest4490 | (~jinsun@user/jinsun) (Killed (sodium.libera.chat (Nickname regained by services))) |
2022-10-10 18:32:32 +0200 | jinsun__ | jinsun |
2022-10-10 18:35:46 +0200 | econo | (uid147250@user/econo) |
2022-10-10 18:36:35 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:6640:d6a5:6547:23ed) (Quit: WeeChat 2.8) |
2022-10-10 18:37:25 +0200 | teo | (~teo@user/teo) (Ping timeout: 268 seconds) |
2022-10-10 18:42:17 +0200 | nschoe | (~q@141.101.51.197) (Ping timeout: 268 seconds) |
2022-10-10 18:43:17 +0200 | <EvanR> | hmm, can I not get a `op` b c d to parse as (a `op` b) c d using sufficiently high precedence |
2022-10-10 18:43:55 +0200 | zebra | (~zebra@202.91.41.13) (Quit: Client closed) |
2022-10-10 18:44:59 +0200 | fserucas_ | (~fserucas@74.47.115.89.rev.vodafone.pt) (Quit: Leaving) |
2022-10-10 18:47:00 +0200 | <pavonia> | I don't think so, function application always binds strongest |
2022-10-10 18:47:27 +0200 | <EvanR> | fair |
2022-10-10 18:48:06 +0200 | leah2 | (~leah@vuxu.org) (Ping timeout: 260 seconds) |
2022-10-10 18:48:07 +0200 | <geekosaur> | right, you can't specify a precedence that matches or beats the built-in stuff |
2022-10-10 18:48:18 +0200 | <geekosaur> | (application, record updates, etc.) |
2022-10-10 18:49:08 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
2022-10-10 18:53:23 +0200 | loras | (~bc@c-73-139-125-125.hsd1.fl.comcast.net) |
2022-10-10 18:54:00 +0200 | Franciman | (~Franciman@mx1.fracta.dev) |
2022-10-10 18:59:41 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2022-10-10 19:00:44 +0200 | Midjak | (~Midjak@82.66.147.146) (Read error: Connection reset by peer) |
2022-10-10 19:01:10 +0200 | Midjak | (~Midjak@82.66.147.146) |
2022-10-10 19:01:54 +0200 | leah2 | (~leah@vuxu.org) |
2022-10-10 19:03:33 +0200 | tgi | (~tgi@189.180.118.117) (Remote host closed the connection) |
2022-10-10 19:03:50 +0200 | tgi | (~tgi@189.180.118.117) |
2022-10-10 19:05:03 +0200 | tgi | thegeekinside |
2022-10-10 19:05:12 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-10 19:05:54 +0200 | thegeekinside | (~tgi@189.180.118.117) (Remote host closed the connection) |
2022-10-10 19:06:13 +0200 | thegeekinside | (~thegeekin@189.180.118.117) |
2022-10-10 19:07:03 +0200 | ft | (~ft@p3e9bc57b.dip0.t-ipconnect.de) |
2022-10-10 19:07:15 +0200 | thegeekinside | (~thegeekin@189.180.118.117) () |
2022-10-10 19:08:37 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-10-10 19:11:19 +0200 | Midjak | (~Midjak@82.66.147.146) (Read error: Connection reset by peer) |
2022-10-10 19:11:48 +0200 | Midjak | (~Midjak@82.66.147.146) |
2022-10-10 19:13:32 +0200 | thegeekinside | (~thegeekin@189.180.118.117) |
2022-10-10 19:13:42 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-10-10 19:13:55 +0200 | thegeekinside | (~thegeekin@189.180.118.117) (Remote host closed the connection) |
2022-10-10 19:14:16 +0200 | thegeekinside | (~thegeekin@189.180.118.117) |
2022-10-10 19:16:02 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:9960:b0f8:561f:a74b) |
2022-10-10 19:17:11 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-10-10 19:18:40 +0200 | vorpuni | (~pvorp@2001:861:3881:c690:6d50:829f:f2b1:8790) |
2022-10-10 19:19:56 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:9960:b0f8:561f:a74b) (Remote host closed the connection) |
2022-10-10 19:19:59 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::a80f) |
2022-10-10 19:21:11 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:9960:b0f8:561f:a74b) |
2022-10-10 19:22:36 +0200 | shriekingnoise | (~shrieking@186.137.167.202) |
2022-10-10 19:24:40 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-10-10 19:24:41 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-10-10 19:24:41 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-10-10 19:25:00 +0200 | loras | (~bc@c-73-139-125-125.hsd1.fl.comcast.net) (Quit: Leaving) |
2022-10-10 19:27:31 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2022-10-10 19:27:38 +0200 | thegeekinside | (~thegeekin@189.180.118.117) (Remote host closed the connection) |
2022-10-10 19:29:26 +0200 | thegeekinside | (~thegeekin@189.180.118.117) |
2022-10-10 19:30:17 +0200 | <monochrom> | Worst of both worlds: Unpinned buffer but its address is stored in a pinned object so the buffer is movable and the C side can still find it. >:) |
2022-10-10 19:30:50 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-10 19:32:33 +0200 | littlefinger | (~littlefin@38.142.23.50) |
2022-10-10 19:32:49 +0200 | kora9 | (~kora@185.224.57.161) |
2022-10-10 19:34:34 +0200 | <kora9> | Hi. I'm using cabal-install 3.2.0.0 and cabal update downloading 01-index.tar.gz is taking forever. I'm on a train so not able to update too much right now, is it possible for me to manually download 01-index.tar.gz and place it/unpack it somewhere for cabal to detect it? (It seems to download faster in a web browser) |
2022-10-10 19:35:25 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 268 seconds) |
2022-10-10 19:36:40 +0200 | <davean> | kora9: yes, ~/.cabal/packages/hackage.haskell.org/ but I don't recomend it - a browser shouldn't be faster and it is large |
2022-10-10 19:36:53 +0200 | beteigeuze | (~Thunderbi@bl14-81-220.dsl.telepac.pt) (Ping timeout: 265 seconds) |
2022-10-10 19:37:11 +0200 | <kora9> | davean: Oh, would you know roughly how large? |
2022-10-10 19:37:19 +0200 | <davean> | if you have it downloaded already cabal only fetches more of it, doesn't download it again |
2022-10-10 19:37:34 +0200 | <davean> | a bit over 100MiB |
2022-10-10 19:38:14 +0200 | <kora9> | I don't have a local index so it's fetching it from scratch. Ah ok, 100MiB will probably take a few minutes on this connection. Thanks for the help :-) |
2022-10-10 19:39:26 +0200 | <geekosaur> | cabal does tend to be a bit slow about it since it's processing as it goes instead of downloading all at once and processing after, iirc. newer versions are somewhat better about it (current cabal is 3.8.1.0) |
2022-10-10 19:40:40 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-10-10 19:41:33 +0200 | <kora9> | geekosaur: Right, I noticed it's piping it directly from curl and I did see a few github bugs about cabal and speed. I assumed it would be fixed after a cabal update of cabal |
2022-10-10 19:42:44 +0200 | littlefinger | (~littlefin@38.142.23.50) (Ping timeout: 252 seconds) |
2022-10-10 19:44:14 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Ping timeout: 258 seconds) |
2022-10-10 19:45:17 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2022-10-10 19:46:57 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-10-10 19:47:16 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 246 seconds) |
2022-10-10 19:48:08 +0200 | kora9 | (~kora@185.224.57.161) (Quit: WeeChat 3.5) |
2022-10-10 19:52:17 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Ping timeout: 258 seconds) |
2022-10-10 19:52:35 +0200 | hochata | (~user@user/hochata) (Ping timeout: 268 seconds) |
2022-10-10 19:52:56 +0200 | Midjak | (~Midjak@82.66.147.146) (Read error: Connection reset by peer) |
2022-10-10 19:54:46 +0200 | zaquest | (~notzaques@5.130.79.72) (Ping timeout: 265 seconds) |
2022-10-10 19:55:53 +0200 | mbuf | (~Shakthi@49.205.87.31) (Quit: Leaving) |
2022-10-10 19:56:52 +0200 | <davean> | ksu: cabal update doesn't update cabal, just its dataset |
2022-10-10 19:58:27 +0200 | thegeekinside | (~thegeekin@189.180.118.117) (Remote host closed the connection) |
2022-10-10 20:00:34 +0200 | arkeet | (~arkeet@moriya.ca) (Ping timeout: 265 seconds) |
2022-10-10 20:00:58 +0200 | thegeekinside | (~thegeekin@189.180.118.117) |
2022-10-10 20:04:05 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-10 20:06:44 +0200 | zaquest | (~notzaques@5.130.79.72) |
2022-10-10 20:10:07 +0200 | Midjak | (~Midjak@82.66.147.146) |
2022-10-10 20:11:12 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 264 seconds) |
2022-10-10 20:12:34 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:9960:b0f8:561f:a74b) (Remote host closed the connection) |
2022-10-10 20:15:19 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2022-10-10 20:20:27 +0200 | razetime | (~quassel@117.254.34.90) (Remote host closed the connection) |
2022-10-10 20:21:48 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Ping timeout: 258 seconds) |
2022-10-10 20:23:46 +0200 | thegeekinside | (~thegeekin@189.180.118.117) (Remote host closed the connection) |
2022-10-10 20:24:09 +0200 | thegeekinside | (~thegeekin@189.180.118.117) |
2022-10-10 20:24:34 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2022-10-10 20:28:26 +0200 | thegeekinside | (~thegeekin@189.180.118.117) (Remote host closed the connection) |
2022-10-10 20:28:53 +0200 | argento | (~argent0@191.81.194.124) |
2022-10-10 20:32:03 +0200 | raehik1 | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 248 seconds) |
2022-10-10 20:32:21 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::a80f) (Ping timeout: 250 seconds) |
2022-10-10 20:33:02 +0200 | <argento> | hello, what's the proper way to concatenate parsers? E.g: to parse 1.23, `many1' digit <??> char '.' <??> many1' digit`. Where <??> is the operator I'm missing. |
2022-10-10 20:34:14 +0200 | <EvanR> | >> |
2022-10-10 20:34:35 +0200 | zebrag | (~chris@user/zebrag) |
2022-10-10 20:35:11 +0200 | <argento> | Thanks |
2022-10-10 20:35:22 +0200 | <EvanR> | in this case << would also work xD |
2022-10-10 20:37:28 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2022-10-10 20:38:20 +0200 | thegeekinside | (~thegeekin@189.180.118.117) |
2022-10-10 20:40:43 +0200 | thegeekinside | (~thegeekin@189.180.118.117) (Remote host closed the connection) |
2022-10-10 20:40:58 +0200 | thegeekinside | (~thegeekin@189.180.118.117) |
2022-10-10 20:41:18 +0200 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) |
2022-10-10 20:41:22 +0200 | thegeekinside | (~thegeekin@189.180.118.117) (Remote host closed the connection) |
2022-10-10 20:43:53 +0200 | thegeekinside | (~thegeekin@189.180.118.117) |
2022-10-10 20:44:08 +0200 | nschoe | (~q@2a01:e0a:8e:a190:ef30:9c9d:b81a:a11) |
2022-10-10 20:44:09 +0200 | nschoe | (~q@2a01:e0a:8e:a190:ef30:9c9d:b81a:a11) (Client Quit) |
2022-10-10 20:44:40 +0200 | LisaLiz | (~KELEBEK@95.70.185.133) |
2022-10-10 20:45:17 +0200 | LisaLiz | (~KELEBEK@95.70.185.133) (Client Quit) |
2022-10-10 20:47:52 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Ping timeout: 258 seconds) |
2022-10-10 20:48:39 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2022-10-10 20:48:45 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2022-10-10 20:52:45 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-10 20:53:17 +0200 | <monochrom> | But I suppose you also want the digits themselves. pure (\x _ y -> x is "1" and y is "23" what do you want to do with them?) <*> many1 digit <*> char '>' <*> many1 digit |
2022-10-10 20:54:13 +0200 | son0p | (~ff@181.136.122.143) (Ping timeout: 265 seconds) |
2022-10-10 20:54:24 +0200 | beteigeuze | (~Thunderbi@89.187.168.40) |
2022-10-10 20:55:35 +0200 | <argento> | monochrom: I want exactly that: `x <> '.':y`. I thought there was a way to lift the `<>` |
2022-10-10 20:56:09 +0200 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
2022-10-10 20:56:26 +0200 | DDR | (~DDR@2604:3d08:4c7f:8250:79f3:1c2b:2580:abd1) |
2022-10-10 20:56:39 +0200 | <monochrom> | (\x _ y -> x <> "." <> y) |
2022-10-10 20:57:20 +0200 | <monochrom> | A very good tutorial for your parser library would explain what are pure and <*> and why you need them. |
2022-10-10 20:57:24 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 268 seconds) |
2022-10-10 20:57:35 +0200 | beteigeuze | (~Thunderbi@89.187.168.40) (Remote host closed the connection) |
2022-10-10 20:57:49 +0200 | <monochrom> | Although, very good tutorials don't exist. Only mediocre ones do. |
2022-10-10 20:58:01 +0200 | <monochrom> | At least, not free of charge. |
2022-10-10 20:58:12 +0200 | lottaquestions_ | (~nick@2607:fa49:503e:7100:17df:3c92:219a:a0dd) (Quit: Konversation terminated!) |
2022-10-10 20:58:29 +0200 | lottaquestions_ | (~nick@2607:fa49:503e:7100:253:563:daad:1d7e) |
2022-10-10 20:59:35 +0200 | <EvanR> | applicative tutorial pro, first month's free, check promocode in the description |
2022-10-10 21:00:49 +0200 | zns | (~zns@user/zns) (Quit: zzz) |
2022-10-10 21:01:07 +0200 | <monochrom> | Well yeah but just as I don't want to bring up "Monad" in an IO tutorial, I don't want to bring up "Applicative" in a parser tutorial. |
2022-10-10 21:01:17 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Ping timeout: 258 seconds) |
2022-10-10 21:01:29 +0200 | <zzz> | wait, people are learning parser combinators before Applicative? |
2022-10-10 21:01:47 +0200 | <monochrom> | People are learning lists and maybes before Functor, too. |
2022-10-10 21:01:50 +0200 | <EvanR> | examples before the general theorem, concrete before abstract |
2022-10-10 21:02:28 +0200 | <monochrom> | You also learned integers before monoids and groups and rings. You also learned rational numbers before fields. |
2022-10-10 21:02:42 +0200 | <monochrom> | Hell, you also learned natural numbers before integers. |
2022-10-10 21:02:48 +0200 | <zzz> | yes and i consider that bad |
2022-10-10 21:03:02 +0200 | <EvanR> | you're right, it's illogical |
2022-10-10 21:03:09 +0200 | <monochrom> | You also learned Chess rules before learning "strategies" "control the centre". |
2022-10-10 21:03:14 +0200 | <EvanR> | I will never understand humans |
2022-10-10 21:03:37 +0200 | <monochrom> | What do you think would be a good order then? |
2022-10-10 21:04:00 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2022-10-10 21:04:51 +0200 | <zzz> | ins this specific case of learning Haskell, i would think what makes most sense is understanding the Prelude before random libraries |
2022-10-10 21:04:58 +0200 | <monochrom> | Category theory in kindergarten? Universal algebra in primary and secondary school? Rings and fields in university? Then finally rational numbers and integers themselves in grad school, for those who actually want grade school and get admitted? |
2022-10-10 21:05:25 +0200 | <EvanR> | evolution of a haskell programmer |
2022-10-10 21:06:44 +0200 | <EvanR> | you finally made it to the level data Nat = Z | S Nat |
2022-10-10 21:06:44 +0200 | <monochrom> | So basically only people with MSc and PhD know how to make sense of "I earned $40 today and spend $20 today"? |
2022-10-10 21:06:46 +0200 | <zzz> | i don't think learning order should be disctated by "level of abstraction", but let's not get derailed here |
2022-10-10 21:07:08 +0200 | <monochrom> | Although, that is already happening as a status quo, so meh. |
2022-10-10 21:08:09 +0200 | <zzz> | lol, no PhD student earns $40 a day :D |
2022-10-10 21:08:37 +0200 | <Digit> | asked them all? |
2022-10-10 21:09:14 +0200 | <monochrom> | Oh, that's an example of a very good day when the PhD student has had a private tutoring customer. |
2022-10-10 21:09:36 +0200 | <zzz> | yeah, teaching Applicatives |
2022-10-10 21:09:40 +0200 | <zzz> | ka-tching |
2022-10-10 21:10:11 +0200 | thegeekinside | (~thegeekin@189.180.118.117) (Remote host closed the connection) |
2022-10-10 21:10:12 +0200 | <monochrom> | And also has had free pizza from a seminar so it's only $20 spent that day haha. |
2022-10-10 21:10:25 +0200 | <monochrom> | perhaps s/haha/sosad/ heh |
2022-10-10 21:10:38 +0200 | madnight | (~madnight@static.59.103.201.195.clients.your-server.de) (Quit: ZNC 1.7.1 - https://znc.in) |
2022-10-10 21:10:56 +0200 | <EvanR> | the music at the end of incredible hulk tv show |
2022-10-10 21:11:07 +0200 | thegeekinside | (~thegeekin@189.180.118.117) |
2022-10-10 21:13:01 +0200 | <monochrom> | I can agree about Prelude before parsers. But even within Prelude I still want to teach [], Maybe, IO before FAM. |
2022-10-10 21:15:29 +0200 | zns | (~zns@user/zns) |
2022-10-10 21:16:48 +0200 | <EvanR> | [] Maybe IO are pretty simple and important as they stand. Another one is using :t to ask for the type of things. And a lot of stuff, including Prelude operators report Applicative... |
2022-10-10 21:17:52 +0200 | <EvanR> | so either you explain that or give them the baby prelude with specialized things |
2022-10-10 21:18:26 +0200 | <geekosaur> | and that gives you Haskell98 with map specialized to [] |
2022-10-10 21:18:42 +0200 | <geekosaur> | whereas earlier versions map was fmap |
2022-10-10 21:20:21 +0200 | raym | (~aritra@user/raym) (Ping timeout: 260 seconds) |
2022-10-10 21:20:30 +0200 | <EvanR> | yeah we actually have the baby prelude in that case |
2022-10-10 21:21:21 +0200 | <geekosaur> | and used to have it in more cases, but it's been turning away from that. FTP, the reintroduction (behind an extension) of monad comprehensions, etc. |
2022-10-10 21:21:36 +0200 | asivitz | (uid178348@id-178348.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2022-10-10 21:22:48 +0200 | pavonia | (~user@user/siracusa) |
2022-10-10 21:24:36 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
2022-10-10 21:25:59 +0200 | raym | (~aritra@user/raym) |
2022-10-10 21:29:01 +0200 | burnsidesLlama | (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 244 seconds) |
2022-10-10 21:31:57 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Ping timeout: 258 seconds) |
2022-10-10 21:33:26 +0200 | <johnw> | does anyone have an example of testing a servant API without using socket? I.e., just direct function calls? |
2022-10-10 21:33:56 +0200 | jackhill | (~jackhill@kalessin.dragonsnail.net) (Remote host closed the connection) |
2022-10-10 21:37:16 +0200 | argento | (~argent0@191.81.194.124) (Ping timeout: 260 seconds) |
2022-10-10 21:37:44 +0200 | jinsun | (~jinsun@user/jinsun) (Read error: Connection reset by peer) |
2022-10-10 21:38:03 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2022-10-10 21:38:03 +0200 | jinsun | (~jinsun@user/jinsun) |
2022-10-10 21:38:34 +0200 | gqplox | (~textual@97e654ef.skybroadband.com) |
2022-10-10 21:38:35 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2022-10-10 21:39:04 +0200 | jackhill | (~jackhill@kalessin.dragonsnail.net) |
2022-10-10 21:41:15 +0200 | <gqplox> | Hi |
2022-10-10 21:42:04 +0200 | <gqplox> | I'm trying to write map but I can't get it working, here is my code http://sprunge.us/xcmdIP |
2022-10-10 21:42:33 +0200 | jackhill | KM4MBG |
2022-10-10 21:43:06 +0200 | KM4MBG | jackhill |
2022-10-10 21:43:42 +0200 | <gqplox> | Why does it say that couldn't match expected a0 -> b0 with actual [a]? |
2022-10-10 21:43:45 +0200 | <gqplox> | Oh wait dumb mistake |
2022-10-10 21:43:49 +0200 | <gqplox> | Hahah my bad sorry |
2022-10-10 21:43:59 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2022-10-10 21:44:51 +0200 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-10-10 21:48:00 +0200 | <dminuoso> | johnw: While the code is proprietary, we do it in one of our projects. |
2022-10-10 21:52:32 +0200 | <johnw> | dminuoso: was it very difficult to setup? Was it mainly providing a mocked version of HasServer? |
2022-10-10 21:52:45 +0200 | <dminuoso> | Huh? |
2022-10-10 21:53:24 +0200 | <johnw> | dminuoso: how did you setup your servant testing minus sockets? |
2022-10-10 21:54:38 +0200 | <dminuoso> | johnw: So we use the generics (since that's the only sane way to use servant) interface, then its as simple as just `ma_findService (mailService user) ...` |
2022-10-10 21:54:40 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-10-10 21:55:41 +0200 | <dminuoso> | Where `mailService :: ApiUser -> MailAPI AsServerF`, and `ma_findService :: MailAPI AsServerF -> ApiUser -> Uid -> FreyjaM MailService` |
2022-10-10 21:56:35 +0200 | <dminuoso> | There's no need for any server to run, you can just call that function, and run that monad in whatever setting you want |
2022-10-10 21:57:00 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-10-10 21:58:20 +0200 | <dminuoso> | Even without a custom monad, you can just runHandler' it |
2022-10-10 21:59:17 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-10-10 21:59:23 +0200 | <dminuoso> | It's also how we trivially implement a fully flegded client: |
2022-10-10 22:00:01 +0200 | <dminuoso> | `mailClient :: MailAPI (AsClientT ClientM); mailClient = genericClient; cm_findService :: Uid -> ClientM MailService; cm_findService = ma_findService mailClient` |
2022-10-10 22:00:08 +0200 | <dminuoso> | It's really the same interface |
2022-10-10 22:01:35 +0200 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Read error: Connection reset by peer) |
2022-10-10 22:02:14 +0200 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
2022-10-10 22:03:46 +0200 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 246 seconds) |
2022-10-10 22:08:15 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 252 seconds) |
2022-10-10 22:10:06 +0200 | ph88 | (~ph88@2a02:8109:9e00:71d0:7166:ab0e:b806:c76c) (Quit: Leaving) |
2022-10-10 22:11:58 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-10-10 22:16:22 +0200 | <johnw> | thank you! |
2022-10-10 22:26:51 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 260 seconds) |
2022-10-10 22:27:19 +0200 | shailangsa | (~shailangs@86.159.49.5) (Ping timeout: 252 seconds) |
2022-10-10 22:27:38 +0200 | jinsun | (~jinsun@user/jinsun) (Read error: Connection reset by peer) |
2022-10-10 22:27:54 +0200 | jinsun | (~jinsun@user/jinsun) |
2022-10-10 22:28:58 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-10-10 22:29:59 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-10-10 22:30:12 +0200 | raehik1 | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-10-10 22:31:01 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2022-10-10 22:34:26 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2022-10-10 22:37:11 +0200 | johnw | (~johnw@2600:1700:cf00:db0:c408:2164:6157:6eb5) (Quit: ZNC - http://znc.in) |
2022-10-10 22:37:13 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 244 seconds) |
2022-10-10 22:38:52 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2022-10-10 22:38:56 +0200 | talismanick | (~talismani@5.187.27.20) |
2022-10-10 22:41:19 +0200 | zer0bitz_ | (~zer0bitz@2001:2003:f748:2000:bc16:3d64:146f:ea3e) (Read error: Connection reset by peer) |
2022-10-10 22:41:27 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2022-10-10 22:43:25 +0200 | talismanick | (~talismani@5.187.27.20) (Ping timeout: 244 seconds) |
2022-10-10 22:43:46 +0200 | vorpuni | (~pvorp@2001:861:3881:c690:6d50:829f:f2b1:8790) (Ping timeout: 260 seconds) |
2022-10-10 22:45:16 +0200 | Lycurgus | (~juan@user/Lycurgus) |
2022-10-10 22:45:21 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:9960:b0f8:561f:a74b) |
2022-10-10 22:46:11 +0200 | nate1 | (~nate@98.45.169.16) |
2022-10-10 22:47:17 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-10 22:49:37 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:9960:b0f8:561f:a74b) (Ping timeout: 244 seconds) |
2022-10-10 22:51:21 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
2022-10-10 22:54:08 +0200 | dsrt^ | (~dsrt@c-76-17-6-165.hsd1.ga.comcast.net) |
2022-10-10 22:55:05 +0200 | beteigeuze | (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) |
2022-10-10 22:55:21 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2022-10-10 22:55:49 +0200 | Lycurgus | (~juan@user/Lycurgus) (Quit: Exeunt juan@acm.org) |
2022-10-10 22:59:42 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-10-10 23:00:56 +0200 | phma | (~phma@host-67-44-208-36.hnremote.net) (Read error: Connection reset by peer) |
2022-10-10 23:01:51 +0200 | phma | (~phma@2001:5b0:210f:49a8:1266:723e:2abd:17a6) |
2022-10-10 23:01:54 +0200 | son0p | (~ff@181.136.122.143) |
2022-10-10 23:07:37 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2022-10-10 23:08:46 +0200 | Franciman | (~Franciman@mx1.fracta.dev) (Read error: Connection reset by peer) |
2022-10-10 23:09:26 +0200 | shailangsa | (~shailangs@host86-159-49-5.range86-159.btcentralplus.com) |
2022-10-10 23:10:01 +0200 | Franciman | (~Franciman@mx1.fracta.dev) |
2022-10-10 23:14:41 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 260 seconds) |
2022-10-10 23:15:14 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2022-10-10 23:17:11 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2022-10-10 23:22:53 +0200 | hochata | (~user@user/hochata) |
2022-10-10 23:27:19 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-10 23:28:26 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2022-10-10 23:28:54 +0200 | rosalind | (rosalind@id-194105.uxbridge.irccloud.com) |
2022-10-10 23:30:26 +0200 | smol-hors | (sid524992@smol/hors) () |
2022-10-10 23:32:11 +0200 | rockystone | (~rocky@user/rockymarine) (Ping timeout: 268 seconds) |
2022-10-10 23:34:33 +0200 | Franciman | (~Franciman@mx1.fracta.dev) (Read error: Connection reset by peer) |
2022-10-10 23:35:46 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-10-10 23:37:05 +0200 | codaraxis___ | (~codaraxis@user/codaraxis) |
2022-10-10 23:37:52 +0200 | codaraxis__ | (~codaraxis@user/codaraxis) (Read error: Connection reset by peer) |
2022-10-10 23:38:49 +0200 | rockystone | (~rocky@user/rockymarine) |
2022-10-10 23:40:48 +0200 | Franciman | (~Franciman@mx1.fracta.dev) |
2022-10-10 23:47:04 +0200 | michalz | (~michalz@185.246.207.205) (Remote host closed the connection) |
2022-10-10 23:51:48 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-10-10 23:59:58 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-34.elisa-laajakaista.fi) (Quit: Leaving.) |