2023-10-25 00:01:23 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Ping timeout: 255 seconds) |
2023-10-25 00:02:12 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-10-25 00:06:04 +0200 | Guest74 | (~Guest75@5-157-196-109.itvmedia.pl) (Quit: Client closed) |
2023-10-25 00:06:06 +0200 | sansk | (~sansk@072-238-128-073.res.spectrum.com) |
2023-10-25 00:07:56 +0200 | emmanuelux_ | (~emmanuelu@user/emmanuelux) |
2023-10-25 00:08:03 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer) |
2023-10-25 00:08:24 +0200 | ubert | (~Thunderbi@91.141.40.172.wireless.dyn.drei.com) (Ping timeout: 255 seconds) |
2023-10-25 00:09:38 +0200 | <sansk> | Has anyone here written an interpreter for a programming language in haskell? I am doing that and I'm not quite sure if I am structuring it right |
2023-10-25 00:11:24 +0200 | <monochrom> | Does Agda count? |
2023-10-25 00:12:47 +0200 | <davean> | monochrom: no they said programming language |
2023-10-25 00:13:10 +0200 | <monochrom> | haha ok |
2023-10-25 00:15:57 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2023-10-25 00:16:54 +0200 | <sansk> | I just wanted to take a look at how you structure everything, right now I have everything in the language in one data type, but I feel like it should be split up |
2023-10-25 00:19:12 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
2023-10-25 00:21:02 +0200 | <monochrom> | Then I guess my course notes count. But it's a very small toy language, so I never needed to split. https://www.cs.utoronto.ca/~trebla/CSCC24-2023-Summer/09-semantics-1.html |
2023-10-25 00:23:03 +0200 | <sansk> | Thank you! |
2023-10-25 00:24:03 +0200 | <sansk> | This seems similar to my interpreter, I guess it's kind of like Lisp where everything is an expression |
2023-10-25 00:27:43 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2023-10-25 00:29:23 +0200 | <monochrom> | Expression languages use the full expressivity of monads. Statement languages don't. :) |
2023-10-25 00:29:55 +0200 | <monochrom> | IOW I make expression languages because the alternative is too boring. |
2023-10-25 00:30:27 +0200 | <monochrom> | But! On assignments I give them statement languages if it's more natural. |
2023-10-25 00:32:21 +0200 | <sansk> | 👍 thanks for the help, i guess one data type will be fine (the language is not too big) |
2023-10-25 00:38:36 +0200 | sansk | (~sansk@072-238-128-073.res.spectrum.com) (WeeChat 4.0.4) |
2023-10-25 00:55:16 +0200 | ft | (~ft@p4fc2a529.dip0.t-ipconnect.de) |
2023-10-25 00:57:30 +0200 | CO2 | (~CO2@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 4.1.0) |
2023-10-25 00:58:40 +0200 | santiagopim | (~user@90.167.66.131) (Ping timeout: 252 seconds) |
2023-10-25 01:02:34 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 272 seconds) |
2023-10-25 01:05:57 +0200 | dcoutts_ | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Remote host closed the connection) |
2023-10-25 01:06:12 +0200 | Katarushisu1 | (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) (Quit: Ping timeout (120 seconds)) |
2023-10-25 01:07:24 +0200 | arahael | (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) |
2023-10-25 01:08:07 +0200 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 264 seconds) |
2023-10-25 01:08:27 +0200 | dcoutts_ | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
2023-10-25 01:08:48 +0200 | Katarushisu1 | (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) |
2023-10-25 01:10:04 +0200 | sansk | (~sansk@072-238-128-073.res.spectrum.com) |
2023-10-25 01:10:14 +0200 | sansk | (~sansk@072-238-128-073.res.spectrum.com) () |
2023-10-25 01:11:43 +0200 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
2023-10-25 01:13:01 +0200 | Lycurgus | (~georg@user/Lycurgus) |
2023-10-25 01:23:39 +0200 | <EvanR> | what is the link between expression language and monads |
2023-10-25 01:23:53 +0200 | <EvanR> | what is return what is join |
2023-10-25 01:27:33 +0200 | aztex | (~aztex@78-71-213-100-no2000.tbcn.telia.com) |
2023-10-25 01:28:06 +0200 | <aztex> | Hello is it possible to share an MVar between a Haskell and C heap? |
2023-10-25 01:28:46 +0200 | <aztex> | I think its possible to share plain values quite easily by `malloc`ing on the C heap |
2023-10-25 01:28:59 +0200 | <EvanR> | you could put hooks to call from C which access the MVar and marshall it into a form usable in C |
2023-10-25 01:29:17 +0200 | <c_wraith> | You can't assume it won't move |
2023-10-25 01:29:23 +0200 | <c_wraith> | .. I think. |
2023-10-25 01:29:47 +0200 | <EvanR> | malloced heap space won't move |
2023-10-25 01:29:54 +0200 | <monochrom> | Most of the time, Applicative suffices. E.g. "foo + bar" can have semantics liftA2 (+) (eval foo) (eval bar). |
2023-10-25 01:29:58 +0200 | <c_wraith> | I don't think you can malloc an MVar |
2023-10-25 01:29:59 +0200 | <davean> | I mean yo ucan ... oh god who would stable pointer MVar? |
2023-10-25 01:30:01 +0200 | <EvanR> | you can use Storable to access it from haskell, and access it normally from C |
2023-10-25 01:30:16 +0200 | <aztex> | now malloced ones wont move |
2023-10-25 01:30:19 +0200 | <EvanR> | yeah no, not MVar |
2023-10-25 01:31:02 +0200 | vglfr | (~vglfr@88.155.140.136) |
2023-10-25 01:31:05 +0200 | <c_wraith> | If you want the integration with Haskell threads that MVar implies, you need to integrate with Haskell stuff. And that means StablePtr and really slow access. |
2023-10-25 01:31:20 +0200 | <monochrom> | But if-then-else and short-circuiting operators begin to need at least Selective. |
2023-10-25 01:31:22 +0200 | <c_wraith> | If you just want a block of mutable memory, use Storable and allocate it on the C heap |
2023-10-25 01:31:35 +0200 | <aztex> | The scenario I have is a bit strange; I am FFI interfacing with a C server kind of program that responds to requests intermittently. I want the Haskell part of the program to wake up only when the C server answers some requests |
2023-10-25 01:31:41 +0200 | <geekosaur> | aren't we all kinda missing the elephant in the room, namely that you can't access MVar *semantics* from C |
2023-10-25 01:31:45 +0200 | <monochrom> | Usually the semantic model is nice enough to support all of Monad, so why not. :) |
2023-10-25 01:32:07 +0200 | <c_wraith> | geekosaur: well, I wasn't ignoring that StablePtr isn't usable from C! |
2023-10-25 01:32:14 +0200 | <aztex> | This is kind of hard; I have a naive model where I busy wait on the Haskell side; busy waiting on a value malloced on the C heap |
2023-10-25 01:32:16 +0200 | <EvanR> | unless you call into a haskell operation that accesses the MVar for you |
2023-10-25 01:32:21 +0200 | <aztex> | But I want to avoid the busy wait |
2023-10-25 01:32:32 +0200 | <EvanR> | but anyway they explained the XY problem so solve that instead |
2023-10-25 01:32:37 +0200 | <monochrom> | Actually I think by the time the language has function application, the semantic model needs all of >>=. |
2023-10-25 01:32:39 +0200 | <c_wraith> | Yeah, this sounds like a case of just call a pretty normal FFI function that writes to the MVar from Haskell |
2023-10-25 01:33:12 +0200 | <geekosaur> | or just invokes a Haskell callback and avoid the whole mess? |
2023-10-25 01:33:42 +0200 | <aztex> | geekosaur could you elaborate a bit on what you mean by the Haskell callback? |
2023-10-25 01:33:55 +0200 | <c_wraith> | aztex: look into "foreign export" |
2023-10-25 01:34:00 +0200 | <aztex> | I guess that the Haskell part of the programs becomes exported |
2023-10-25 01:34:19 +0200 | <monochrom> | C can call Haskell. |
2023-10-25 01:34:27 +0200 | <geekosaur> | yes, you can arrange for Haskell functions to be callable from C with "foreign export" |
2023-10-25 01:34:28 +0200 | <aztex> | aware of that |
2023-10-25 01:34:37 +0200 | <monochrom> | Turn the table around. Work backwards. |
2023-10-25 01:34:57 +0200 | <EvanR> | don't call us, we'll call you |
2023-10-25 01:34:57 +0200 | <geekosaur> | so instead of busyewaiting on the C heap you have C call into Haskell with the value you'd be putting into the heap |
2023-10-25 01:35:17 +0200 | <monochrom> | (A few years ago I finally accepted that debugging is best done by working backwards. Dijkstra told me so decades ago. Didn't listen. :) ) |
2023-10-25 01:35:34 +0200 | <EvanR> | what does function application have to do with >>= |
2023-10-25 01:35:41 +0200 | <aztex> | was hoping didn't have to do the export stuff |
2023-10-25 01:35:51 +0200 | <aztex> | but probably thats the simplest way out |
2023-10-25 01:36:26 +0200 | <EvanR> | alternatively you can put the C routine that does whatever waiting into a thing that haskell can call, then haskell blocks waiting for that FFI call to return |
2023-10-25 01:36:37 +0200 | <aztex> | (reason being the C server part of the code is fixed and the Haskell functions change a lot from program to program) |
2023-10-25 01:36:48 +0200 | <EvanR> | but it sounds like the other way might be more straight forward if the core loop is in C |
2023-10-25 01:38:22 +0200 | <aztex> | thanks for the help |
2023-10-25 01:41:05 +0200 | aztex | (~aztex@78-71-213-100-no2000.tbcn.telia.com) (Quit: Client closed) |
2023-10-25 01:42:16 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2023-10-25 01:44:18 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-10-25 01:44:37 +0200 | Lycurgus | (~georg@user/Lycurgus) (Quit: leaving) |
2023-10-25 01:44:50 +0200 | <davean> | Why are we talking about anything here other than the IO Manager? |
2023-10-25 01:45:16 +0200 | <davean> | You just make a selectable |
2023-10-25 01:47:44 +0200 | arahael | (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds) |
2023-10-25 01:47:53 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Quit: Leaving) |
2023-10-25 01:49:38 +0200 | hpc | (~juzz@ip98-169-35-163.dc.dc.cox.net) (Ping timeout: 260 seconds) |
2023-10-25 01:57:45 +0200 | Square | (~Square@user/square) |
2023-10-25 01:58:30 +0200 | <EvanR> | is that a thing |
2023-10-25 01:59:07 +0200 | <monochrom> | I wonder if "IO Manager" and "selectable" are responses to two different threads. |
2023-10-25 02:00:07 +0200 | <monochrom> | in which case "selectable" would be what I called "Selective". |
2023-10-25 02:00:43 +0200 | Square3 | (~Square4@user/square) (Ping timeout: 260 seconds) |
2023-10-25 02:01:38 +0200 | sansk | (~sansk@072-238-128-073.res.spectrum.com) |
2023-10-25 02:06:17 +0200 | <davean> | EvanR: Absolutely |
2023-10-25 02:06:32 +0200 | <EvanR> | how do you make a custom selectable |
2023-10-25 02:06:36 +0200 | <davean> | monochrom: Oh I meant POSIX "select" callable |
2023-10-25 02:06:47 +0200 | <davean> | EvanR: pipe/socket or any filehandle |
2023-10-25 02:07:04 +0200 | <davean> | This is how the RTS even talks to its self |
2023-10-25 02:07:11 +0200 | <EvanR> | so make a custom pipe, socket, filehandle, like hack the kernel? |
2023-10-25 02:07:22 +0200 | <davean> | No? There is no hacking here? |
2023-10-25 02:07:28 +0200 | <davean> | This is basic POSIX |
2023-10-25 02:07:36 +0200 | <EvanR> | make a custom fd... and do what with it |
2023-10-25 02:08:00 +0200 | <Inst> | there, finally figured it out |
2023-10-25 02:08:06 +0200 | <geekosaur> | give it to the IO manager. C writes to it, the IO manager wakes up the associated thread |
2023-10-25 02:08:29 +0200 | <EvanR> | what is the true name of this IO manager so I may access it |
2023-10-25 02:08:33 +0200 | <geekosaur> | look at `threadWaitRead` |
2023-10-25 02:08:51 +0200 | <monochrom> | It is just called "the IO manager" :) |
2023-10-25 02:09:10 +0200 | <EvanR> | > \fd -> (the IO manager) fd |
2023-10-25 02:09:11 +0200 | <lambdabot> | error: |
2023-10-25 02:09:11 +0200 | <lambdabot> | Variable not in scope: the :: t0 -> t1 -> t -> t2error: Data constructor... |
2023-10-25 02:09:15 +0200 | <Inst> | after backporting the Haskell into Python, the answer, it seems, for this problem, is just use a lambda that injects values into a list |
2023-10-25 02:09:22 +0200 | <monochrom> | But you can find it in https://github.com/takenobu-hs/haskell-ghc-illustrated |
2023-10-25 02:09:27 +0200 | <Inst> | then use applicative functions to apply it to the random generator |
2023-10-25 02:09:31 +0200 | <Inst> | so the lambda is essentially pure |
2023-10-25 02:10:02 +0200 | <geekosaur> | https://downloads.haskell.org/ghc/9.2.5/docs/html/libraries/base-4.16.4.0/GHC-Event.html is the lowest level implementation, but threadWaitRead and threadWaitWrite are the lowest levels you would find in a normal Haskell program |
2023-10-25 02:10:10 +0200 | <monochrom> | But yeah the high-level thing to do is threadWaitRead. |
2023-10-25 02:10:39 +0200 | <EvanR> | GHC.Conc.IO.threadWaitRead |
2023-10-25 02:10:41 +0200 | <jackdk> | EvanR: https://hackage.haskell.org/package/gdp-0.0.3.0/docs/Data-The.html#v:the |
2023-10-25 02:11:28 +0200 | <EvanR> | hahaha |
2023-10-25 02:17:47 +0200 | sansk | (~sansk@072-238-128-073.res.spectrum.com) (Quit: WeeChat 4.0.4) |
2023-10-25 02:18:05 +0200 | Square | (~Square@user/square) (Ping timeout: 240 seconds) |
2023-10-25 02:18:05 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:484c:e1ac:4235:81cd) (Ping timeout: 240 seconds) |
2023-10-25 02:19:53 +0200 | <jackdk> | Ghosts of departed proofs is such a cool paper |
2023-10-25 02:22:32 +0200 | Umeaboy | (~Umeaboy@94-255-145-133.cust.bredband2.com) |
2023-10-25 02:24:27 +0200 | <Umeaboy> | Hi! This might sound very stupid, but row/line 146 in this spec file clearly says to place the resulting files in /opt/, but when I reach to the end of the build it fails to create the package due to finding installed but unpackaged files which is NOT in /opt/ |
2023-10-25 02:24:42 +0200 | <Umeaboy> | Am I stupid or is this spec file wrongly written? |
2023-10-25 02:24:52 +0200 | <Umeaboy> | https://build.opensuse.org/package/view_file/openSUSE:Factory/ghc-bootstrap/ghc-bootstrap.spec?exp… |
2023-10-25 02:25:26 +0200 | <Umeaboy> | I have compared to other spec files and they say the same under the %files part which is /opt/ |
2023-10-25 02:25:43 +0200 | <Umeaboy> | I could use some help correcting this. |
2023-10-25 02:26:14 +0200 | emmanuelux_ | (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
2023-10-25 02:27:17 +0200 | <geekosaur> | shouldn't that be asked of SuSE package developers, rather than Haskellers? |
2023-10-25 02:27:50 +0200 | <geekosaur> | I mean, I'm probably the only one here who knows about SuSE's version of spec files, and that knowledge is 15 years out of date |
2023-10-25 02:28:21 +0200 | <Umeaboy> | geekosaur: I just asked in #opensuse as well. |
2023-10-25 02:28:24 +0200 | <Umeaboy> | :) |
2023-10-25 02:28:33 +0200 | <Umeaboy> | So already a step ahead of you there. |
2023-10-25 02:29:15 +0200 | <Inst> | EvanR: the solution you were expecting was a lambda to list, then applicative methods to imbue state, right? I got it fixed that way |
2023-10-25 02:30:05 +0200 | <Inst> | no IsString, no pures everywhere, just lambda that generates a list being fmapped and <*>-ed into State StdGen |
2023-10-25 02:35:00 +0200 | qqq | (~qqq@92.43.167.61) (Read error: Connection reset by peer) |
2023-10-25 02:35:38 +0200 | <monochrom> | jackdk: That is interesting. Thanks. |
2023-10-25 02:35:43 +0200 | qqq | (~qqq@92.43.167.61) |
2023-10-25 02:38:06 +0200 | <jackdk> | monochrom: I wish ocharles had written more about GDP-for-authz, because https://blog.ocharles.org.uk/blog/posts/2019-08-09-who-authorized-these-ghosts.html was really promising |
2023-10-25 02:42:26 +0200 | sansk | (~sansk@072-238-128-073.res.spectrum.com) |
2023-10-25 02:42:56 +0200 | sansk | (~sansk@072-238-128-073.res.spectrum.com) (Quit: WeeChat 4.0.4) |
2023-10-25 02:48:46 +0200 | sansk | (~sansk@user/sansk) |
2023-10-25 03:00:10 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 255 seconds) |
2023-10-25 03:01:27 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2023-10-25 03:05:48 +0200 | otto_s | (~user@p4ff279af.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2023-10-25 03:07:49 +0200 | otto_s | (~user@p5b044b0d.dip0.t-ipconnect.de) |
2023-10-25 03:17:26 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:484c:e1ac:4235:81cd) |
2023-10-25 03:17:54 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-10-25 03:22:59 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds) |
2023-10-25 03:26:39 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:484c:e1ac:4235:81cd) (Ping timeout: 240 seconds) |
2023-10-25 03:29:38 +0200 | o-90 | (~o-90@gateway/tor-sasl/o-90) |
2023-10-25 03:32:04 +0200 | sansk | (~sansk@user/sansk) (WeeChat 4.0.4) |
2023-10-25 03:44:07 +0200 | leah2 | (~leah@vuxu.org) (Ping timeout: 264 seconds) |
2023-10-25 03:50:50 +0200 | o-90 | (~o-90@gateway/tor-sasl/o-90) (Remote host closed the connection) |
2023-10-25 03:59:07 +0200 | xff0x | (~xff0x@ai101218.d.east.v6connect.net) (Ping timeout: 255 seconds) |
2023-10-25 04:03:05 +0200 | waleee | (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 240 seconds) |
2023-10-25 04:09:13 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2023-10-25 04:09:13 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2023-10-25 04:09:13 +0200 | finn_elija | FinnElija |
2023-10-25 04:14:24 +0200 | [_] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-10-25 04:15:55 +0200 | danza_ | (~francesco@151.37.134.36) |
2023-10-25 04:18:16 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds) |
2023-10-25 04:19:42 +0200 | danse-nr3 | (~francesco@151.37.134.36) |
2023-10-25 04:19:49 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:484c:e1ac:4235:81cd) |
2023-10-25 04:22:19 +0200 | danse-nr3 | (~francesco@151.37.134.36) (Remote host closed the connection) |
2023-10-25 04:22:42 +0200 | danse-nr3 | (~francesco@151.37.134.36) |
2023-10-25 04:23:06 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) |
2023-10-25 04:30:19 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 264 seconds) |
2023-10-25 04:30:56 +0200 | <lockywolf> | Can someone point me toward vendored builds with Cabal? |
2023-10-25 04:31:03 +0200 | <lockywolf> | without network |
2023-10-25 04:35:03 +0200 | <sclv> | you can use project files to point to local repos |
2023-10-25 04:35:29 +0200 | <sclv> | either source repos or local file system repos that collect tarballs |
2023-10-25 04:36:05 +0200 | <sclv> | cf https://cabal.readthedocs.io/en/3.6/installing-packages.html#local-no-index-repositories |
2023-10-25 04:42:00 +0200 | danza_ | (~francesco@151.37.134.36) (Ping timeout: 258 seconds) |
2023-10-25 04:44:05 +0200 | Inst | (~Inst@120.244.192.250) (Read error: Connection reset by peer) |
2023-10-25 04:44:36 +0200 | td_ | (~td@i53870938.versanet.de) (Ping timeout: 240 seconds) |
2023-10-25 04:44:42 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2023-10-25 04:46:50 +0200 | td_ | (~td@i5387090F.versanet.de) |
2023-10-25 04:54:20 +0200 | Inst | (~Inst@120.244.192.250) |
2023-10-25 04:55:39 +0200 | [_] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2023-10-25 04:58:56 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2023-10-25 04:58:59 +0200 | sunflower | (~sunflower@2603-9001-620a-2e31-cc67-ccf1-c1a1-4821.inf6.spectrum.com) |
2023-10-25 04:59:19 +0200 | sunflower | (~sunflower@2603-9001-620a-2e31-cc67-ccf1-c1a1-4821.inf6.spectrum.com) () |
2023-10-25 04:59:30 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-10-25 05:00:03 +0200 | sm | (~sm@plaintextaccounting/sm) (Client Quit) |
2023-10-25 05:00:07 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-10-25 05:00:58 +0200 | vglfr | (~vglfr@88.155.140.136) (Read error: Connection reset by peer) |
2023-10-25 05:12:29 +0200 | aforemny_ | (~aforemny@2001:9e8:6ce8:9900:f5fb:12e8:3754:e64f) |
2023-10-25 05:13:49 +0200 | aforemny | (~aforemny@2001:9e8:6cc2:e900:a0d4:78f3:5fb4:bb3c) (Ping timeout: 258 seconds) |
2023-10-25 05:14:41 +0200 | billchenchina | (~billchenc@113.57.152.160) |
2023-10-25 05:16:27 +0200 | billchenchina- | (~billchenc@2a0c:b641:7a2:230::10) |
2023-10-25 05:19:14 +0200 | billchenchina | (~billchenc@113.57.152.160) (Ping timeout: 245 seconds) |
2023-10-25 05:24:04 +0200 | dnb^ | (~cd@76.145.193.217) (Remote host closed the connection) |
2023-10-25 05:28:18 +0200 | <lockywolf> | sclv: but how do I find out which tarballs I need do download? |
2023-10-25 05:28:51 +0200 | <sclv> | while you’re online you can inspect the cabal.plan |
2023-10-25 05:29:24 +0200 | <sclv> | also note that once you have a working env, you can go offline and it still works as long as you don’t add new deps |
2023-10-25 05:32:51 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-10-25 05:39:12 +0200 | Jackneill_ | (~Jackneill@20014C4E1E03DB0044BF7609ADF864E0.dsl.pool.telekom.hu) |
2023-10-25 05:41:56 +0200 | Jackneill | (~Jackneill@20014C4E1E0E6F00C66CC838C6CE2C28.dsl.pool.telekom.hu) (Ping timeout: 255 seconds) |
2023-10-25 05:44:22 +0200 | leah2 | (~leah@vuxu.org) |
2023-10-25 05:44:35 +0200 | m5zs7k | (aquares@web10.mydevil.net) (Quit: m5zs7k) |
2023-10-25 05:46:48 +0200 | danse-nr3 | (~francesco@151.37.134.36) (Read error: Connection reset by peer) |
2023-10-25 05:47:00 +0200 | m5zs7k | (aquares@web10.mydevil.net) |
2023-10-25 05:47:12 +0200 | danse-nr3 | (~francesco@151.37.177.170) |
2023-10-25 05:51:20 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 256 seconds) |
2023-10-25 05:58:15 +0200 | Umeaboy | (~Umeaboy@94-255-145-133.cust.bredband2.com) (Quit: Leaving) |
2023-10-25 06:00:53 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2023-10-25 06:01:35 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2023-10-25 06:02:29 +0200 | narutoman | (~narutoman@189.172.116.173) |
2023-10-25 06:03:02 +0200 | <narutoman> | Naruto Has Ninja Sex with Nuevo Leon Governor Samuel Garcia Naruto Uzumaki visits Monterrey and meets Governor Samuel Garcia and starts a romantic escapade with him. https://tinyurl.com/Narutosass |
2023-10-25 06:04:19 +0200 | narutoman | (~narutoman@189.172.116.173) (K-Lined) |
2023-10-25 06:06:14 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2023-10-25 06:08:39 +0200 | phma_ | (~phma@host-67-44-208-107.hnremote.net) |
2023-10-25 06:10:18 +0200 | phma | (phma@2001:5b0:210f:1b08:8de9:836f:9645:4508) (Read error: Connection reset by peer) |
2023-10-25 06:11:24 +0200 | phma_ | (~phma@host-67-44-208-107.hnremote.net) (Read error: Connection reset by peer) |
2023-10-25 06:11:50 +0200 | phma_ | (phma@2001:5b0:211c:95b8:542a:48a6:f6ef:c911) |
2023-10-25 06:17:54 +0200 | jbalint_ | (~jbalint@071-090-119-177.res.spectrum.com) (Read error: Connection reset by peer) |
2023-10-25 06:20:11 +0200 | jbalint | (~jbalint@071-090-119-177.res.spectrum.com) |
2023-10-25 06:31:05 +0200 | phma_ | phma |
2023-10-25 06:33:56 +0200 | danse-nr3 | (~francesco@151.37.177.170) (Ping timeout: 258 seconds) |
2023-10-25 06:45:54 +0200 | <haskellbridge> | <Inst> Matrix mods, cleanup? |
2023-10-25 06:46:07 +0200 | <haskellbridge> | <Inst> I guess someone is using my script |
2023-10-25 06:46:26 +0200 | <haskellbridge> | <Inst> with different initial parameters |
2023-10-25 06:55:33 +0200 | danse-nr3 | (~francesco@151.37.177.170) |
2023-10-25 07:12:04 +0200 | michalz | (~michalz@185.246.207.215) |
2023-10-25 07:15:15 +0200 | g | (g@libera/staff/glguy) (Remote host closed the connection) |
2023-10-25 07:15:18 +0200 | g | (g@libera/staff/glguy) |
2023-10-25 07:17:44 +0200 | random-jellyfish | (~tiber@2a02:2f04:11e:c600:3081:413f:53c6:da60) |
2023-10-25 07:17:44 +0200 | random-jellyfish | (~tiber@2a02:2f04:11e:c600:3081:413f:53c6:da60) (Changing host) |
2023-10-25 07:17:44 +0200 | random-jellyfish | (~tiber@user/random-jellyfish) |
2023-10-25 07:19:25 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-10-25 07:21:25 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2023-10-25 07:23:43 +0200 | rgw | (~R@2605:a601:a0df:5600:15e8:6c08:c6f6:7379) (Read error: Connection reset by peer) |
2023-10-25 07:23:51 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
2023-10-25 07:29:19 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-10-25 07:33:24 +0200 | dsrt^ | (~cd@76.145.193.217) (Ping timeout: 245 seconds) |
2023-10-25 07:36:32 +0200 | dsrt^ | (~cd@76.145.193.217) |
2023-10-25 07:39:40 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
2023-10-25 07:55:27 +0200 | <dminuoso> | lockywolf: davean did some work working with cabal-install in an offline fashion as well. |
2023-10-25 07:55:39 +0200 | <dminuoso> | It would be really nice if `cabal-install` had some `vendor-deps` command. |
2023-10-25 08:02:13 +0200 | <danse-nr3> | by "vendor" you mean "offline", or does it entail anything more? |
2023-10-25 08:04:52 +0200 | <danse-nr3> | i will interpret it as "local" |
2023-10-25 08:13:56 +0200 | chele | (~chele@user/chele) |
2023-10-25 08:18:12 +0200 | notzmv | (~zmv@user/notzmv) (Ping timeout: 258 seconds) |
2023-10-25 08:27:44 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-10-25 08:43:14 +0200 | <danse-nr3> | .oO( maybe in haskell the practice of having a private managing a fork of the dependencies for you is so common that haskellers like "vendor" more ) |
2023-10-25 08:44:59 +0200 | ubert | (~Thunderbi@91.141.40.172.wireless.dyn.drei.com) |
2023-10-25 08:45:07 +0200 | CO2 | (CO2@gateway/vpn/protonvpn/co2) |
2023-10-25 08:46:38 +0200 | <lockywolf> | dminuoso: so far this is my best attempt: https://paste.debian.net/1296115/ |
2023-10-25 08:47:05 +0200 | monochrom | (trebla@216.138.220.146) (Ping timeout: 240 seconds) |
2023-10-25 08:49:32 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2023-10-25 08:54:22 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2023-10-25 08:57:34 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-10-25 08:58:00 +0200 | notzmv | (~zmv@user/notzmv) |
2023-10-25 09:05:36 +0200 | monochrom | (trebla@216.138.220.146) |
2023-10-25 09:07:16 +0200 | lottaquestions | (~nick@2607:fa49:503d:b200:641c:fc5a:8196:c097) (Remote host closed the connection) |
2023-10-25 09:07:41 +0200 | lottaquestions | (~nick@2607:fa49:503d:b200:1016:8a55:beca:b71d) |
2023-10-25 09:10:58 +0200 | Inst | (~Inst@120.244.192.250) (Ping timeout: 255 seconds) |
2023-10-25 09:18:54 +0200 | phma | (phma@2001:5b0:211c:95b8:542a:48a6:f6ef:c911) (Read error: Connection reset by peer) |
2023-10-25 09:19:53 +0200 | phma | (~phma@2001:5b0:211f:8338:4e4a:1088:5969:f228) |
2023-10-25 09:21:34 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-10-25 09:26:32 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:1f7:634d:7013:a344) |
2023-10-25 09:35:35 +0200 | danse-nr3 | (~francesco@151.37.177.170) (Remote host closed the connection) |
2023-10-25 09:35:58 +0200 | danse-nr3 | (~francesco@151.37.177.170) |
2023-10-25 09:38:23 +0200 | sm | (~sm@plaintextaccounting/sm) (Quit: sm) |
2023-10-25 09:39:22 +0200 | billchenchina- | (~billchenc@2a0c:b641:7a2:230::10) (Ping timeout: 272 seconds) |
2023-10-25 09:43:33 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:484c:e1ac:4235:81cd) (Remote host closed the connection) |
2023-10-25 09:47:00 +0200 | danse-nr3_ | (~francesco@151.35.191.48) |
2023-10-25 09:47:27 +0200 | danse-nr3 | (~francesco@151.37.177.170) (Read error: Connection reset by peer) |
2023-10-25 09:52:26 +0200 | fendor | (~fendor@2a02:8388:1640:be00:aab:1226:f274:5021) |
2023-10-25 09:54:53 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-10-25 10:05:01 +0200 | mmhat | (~mmh@p200300f1c7190756ee086bfffe095315.dip0.t-ipconnect.de) |
2023-10-25 10:05:22 +0200 | mmhat | (~mmh@p200300f1c7190756ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit) |
2023-10-25 10:09:45 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2023-10-25 10:16:51 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:7058:6d5c:2ab:360f) |
2023-10-25 10:20:45 +0200 | vglfr | (~vglfr@88.155.140.136) |
2023-10-25 10:23:07 +0200 | tzh | (~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz) |
2023-10-25 10:26:12 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
2023-10-25 10:28:04 +0200 | <lockywolf> | Is there some straightforward way to trim the giant 01-index.tar file and its pals to the packages already downloaded? |
2023-10-25 10:33:33 +0200 | <dminuoso> | lockywolf: Like I said, dig into what davean built. |
2023-10-25 10:34:05 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2023-10-25 10:34:40 +0200 | <dminuoso> | Dont have my old IRC logs anymore, so I cant figure out the project name |
2023-10-25 10:34:57 +0200 | rosco | (~rosco@yp-150-69.tm.net.my) |
2023-10-25 10:35:06 +0200 | dhruvasagar1 | (~dhruvasag@37.19.205.196) (Ping timeout: 260 seconds) |
2023-10-25 10:38:48 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2023-10-25 10:40:10 +0200 | danse-nr3_ | (~francesco@151.35.191.48) (Ping timeout: 272 seconds) |
2023-10-25 10:40:35 +0200 | dhruvasagar | (~dhruvasag@37.19.205.196) |
2023-10-25 10:42:36 +0200 | vglfr | (~vglfr@88.155.140.136) (Remote host closed the connection) |
2023-10-25 10:43:11 +0200 | vglfr | (~vglfr@88.155.140.136) |
2023-10-25 10:43:35 +0200 | migas4 | (~migas@astra4961.startdedicated.net) (Quit: Ping timeout (120 seconds)) |
2023-10-25 10:44:31 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2023-10-25 10:44:47 +0200 | migas4 | (~migas@astra4961.startdedicated.net) |
2023-10-25 10:45:16 +0200 | <mauke> | uh oh. I think I just discovered string gaps in Perl |
2023-10-25 10:46:03 +0200 | vglfr | (~vglfr@88.155.140.136) (Remote host closed the connection) |
2023-10-25 10:46:16 +0200 | __monty__ | (~toonn@user/toonn) |
2023-10-25 10:46:39 +0200 | vglfr | (~vglfr@88.155.140.136) |
2023-10-25 10:49:47 +0200 | fendor | (~fendor@2a02:8388:1640:be00:aab:1226:f274:5021) (Remote host closed the connection) |
2023-10-25 10:50:06 +0200 | fendor | (~fendor@2a02:8388:1640:be00:dc89:8d8:5d44:854b) |
2023-10-25 10:51:02 +0200 | danse-nr3 | (~francesco@151.35.191.48) |
2023-10-25 10:53:20 +0200 | migas4 | (~migas@astra4961.startdedicated.net) (Quit: Ping timeout (120 seconds)) |
2023-10-25 10:53:42 +0200 | <mauke> | https://paste.tomsmeding.com/trEpgZqb - gaps.pl.lhs |
2023-10-25 10:54:24 +0200 | Square3 | (~Square4@user/square) |
2023-10-25 10:55:38 +0200 | vglfr | (~vglfr@88.155.140.136) (Remote host closed the connection) |
2023-10-25 10:57:07 +0200 | migas4 | (~migas@astra4961.startdedicated.net) |
2023-10-25 10:57:48 +0200 | vglfr | (~vglfr@88.155.140.136) |
2023-10-25 11:00:35 +0200 | rosco | (~rosco@yp-150-69.tm.net.my) (Quit: Lost terminal) |
2023-10-25 11:04:38 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-10-25 11:04:58 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2023-10-25 11:07:11 +0200 | ubert | (~Thunderbi@91.141.40.172.wireless.dyn.drei.com) (Ping timeout: 260 seconds) |
2023-10-25 11:10:20 +0200 | Pickchea | (~private@user/pickchea) |
2023-10-25 11:11:36 +0200 | ubert | (~Thunderbi@91.141.40.172.wireless.dyn.drei.com) |
2023-10-25 11:20:57 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-10-25 11:25:48 +0200 | ubert1 | (~Thunderbi@178.165.198.50.wireless.dyn.drei.com) |
2023-10-25 11:26:02 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 258 seconds) |
2023-10-25 11:27:19 +0200 | ubert | (~Thunderbi@91.141.40.172.wireless.dyn.drei.com) (Ping timeout: 255 seconds) |
2023-10-25 11:27:19 +0200 | ubert1 | ubert |
2023-10-25 11:27:21 +0200 | vglfr | (~vglfr@88.155.140.136) (Read error: Connection reset by peer) |
2023-10-25 11:27:36 +0200 | incertia | (~incertia@209.122.71.127) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-10-25 11:27:42 +0200 | vglfr | (~vglfr@185-177-124-194.hosted-by-worldstream.net) |
2023-10-25 11:28:27 +0200 | incertia | (~incertia@209.122.71.127) |
2023-10-25 11:29:21 +0200 | dhruvasagar | (~dhruvasag@37.19.205.196) (Ping timeout: 260 seconds) |
2023-10-25 11:29:36 +0200 | acidjnk | (~acidjnk@p200300d6e72b930390f6e959e0858704.dip0.t-ipconnect.de) |
2023-10-25 11:31:48 +0200 | dhruvasagar | (~dhruvasag@37.19.205.196) |
2023-10-25 11:37:01 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-10-25 11:47:13 +0200 | <lockywolf> | seemingly, cracked it |
2023-10-25 11:48:16 +0200 | vglfr | (~vglfr@185-177-124-194.hosted-by-worldstream.net) (Ping timeout: 258 seconds) |
2023-10-25 11:48:39 +0200 | hippoid | (~hippoid@c-98-213-162-40.hsd1.il.comcast.net) (Ping timeout: 240 seconds) |
2023-10-25 11:50:46 +0200 | hippoid | (~hippoid@c-98-213-162-40.hsd1.il.comcast.net) |
2023-10-25 11:54:39 +0200 | vglfr | (~vglfr@88.155.140.136) |
2023-10-25 11:55:43 +0200 | random-jellyfish | (~tiber@user/random-jellyfish) (Ping timeout: 260 seconds) |
2023-10-25 11:58:58 +0200 | random-jellyfish | (~tiber@2a02:2f04:11e:c600:3081:413f:53c6:da60) |
2023-10-25 11:58:58 +0200 | random-jellyfish | (~tiber@2a02:2f04:11e:c600:3081:413f:53c6:da60) (Changing host) |
2023-10-25 11:58:58 +0200 | random-jellyfish | (~tiber@user/random-jellyfish) |
2023-10-25 12:08:02 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 255 seconds) |
2023-10-25 12:11:19 +0200 | arahael | (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) |
2023-10-25 12:12:38 +0200 | elkcl | (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) (Ping timeout: 272 seconds) |
2023-10-25 12:16:57 +0200 | ft | (~ft@p4fc2a529.dip0.t-ipconnect.de) (Quit: leaving) |
2023-10-25 12:18:34 +0200 | elkcl | (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) |
2023-10-25 12:30:01 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
2023-10-25 12:46:36 +0200 | notzmv | (~zmv@user/notzmv) (Ping timeout: 240 seconds) |
2023-10-25 12:47:03 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Ping timeout: 240 seconds) |
2023-10-25 12:49:16 +0200 | puke | (~puke@user/puke) (Quit: puke) |
2023-10-25 12:53:27 +0200 | puke | (~puke@user/puke) |
2023-10-25 13:03:01 +0200 | kwii | (~kwii@193.19.203.71) |
2023-10-25 13:03:47 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:7058:6d5c:2ab:360f) (Ping timeout: 258 seconds) |
2023-10-25 13:06:12 +0200 | snowsauce | (~snowsauce@pa9-84-91-207-96.netvisao.pt) |
2023-10-25 13:06:38 +0200 | chomwitt | (~chomwitt@2a02:587:7a01:8f00:1ac0:4dff:fedb:a3f1) |
2023-10-25 13:08:43 +0200 | sansk | (~sansk@user/sansk) |
2023-10-25 13:10:39 +0200 | xff0x | (~xff0x@2405:6580:b080:900:b408:5b9a:5100:323d) |
2023-10-25 13:12:33 +0200 | hpc | (~juzz@ip98-169-35-163.dc.dc.cox.net) |
2023-10-25 13:13:20 +0200 | CiaoSen | (~Jura@2a05:5800:2bd:d400:664b:f0ff:fe37:9ef) |
2023-10-25 13:15:18 +0200 | kwii | (~kwii@193.19.203.71) () |
2023-10-25 13:17:52 +0200 | Guest|60 | (~Guest|60@91.187.138.52) |
2023-10-25 13:17:58 +0200 | <Guest|60> | hi |
2023-10-25 13:18:10 +0200 | <Guest|60> | is there anyonoe |
2023-10-25 13:18:18 +0200 | <Guest|60> | i cant installiram mrtvi huskel |
2023-10-25 13:18:28 +0200 | Guest|60 | (~Guest|60@91.187.138.52) (Client Quit) |
2023-10-25 13:28:04 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-10-25 13:31:47 +0200 | accord | (uid568320@id-568320.hampstead.irccloud.com) |
2023-10-25 13:36:37 +0200 | danse-nr3 | (~francesco@151.35.191.48) (Ping timeout: 255 seconds) |
2023-10-25 13:37:41 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 255 seconds) |
2023-10-25 13:40:18 +0200 | sansk | (~sansk@user/sansk) () |
2023-10-25 13:40:31 +0200 | xff0x | (~xff0x@2405:6580:b080:900:b408:5b9a:5100:323d) (Ping timeout: 264 seconds) |
2023-10-25 13:41:59 +0200 | xff0x | (~xff0x@ai101218.d.east.v6connect.net) |
2023-10-25 13:58:19 +0200 | rosco | (~rosco@yp-150-69.tm.net.my) |
2023-10-25 14:04:14 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 255 seconds) |
2023-10-25 14:05:31 +0200 | naruto69 | (~naruto69@189.172.34.154) |
2023-10-25 14:09:19 +0200 | dhruvasagar | (~dhruvasag@37.19.205.196) (Ping timeout: 264 seconds) |
2023-10-25 14:12:09 +0200 | vglfr | (~vglfr@88.155.140.136) (Read error: Connection reset by peer) |
2023-10-25 14:24:54 +0200 | kwii | (~kwii@193.19.203.71) |
2023-10-25 14:25:09 +0200 | <naruto69> | Read about it! Naruto Has Ninja Sex with Nuevo Leon Governor Samuel Garcia ------ Naruto grinned and formed the seals for a new jutsu he had been working on. "It's called the Ketsuryugan," he explained, "It's like a rasengan, but instead of spinning chakra, it's a concentrated blast of pleasure that stimulates the rectum and prostate." Samuel Garcia's eyebrows shot up in surprise, but he was clearly intrigued. "Sounds interesting. Can you show me |
2023-10-25 14:25:10 +0200 | <naruto69> | how it works?" https://justpaste.it/Naruto_Makes_Love_Samuel_Garcia |
2023-10-25 14:25:16 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2023-10-25 14:25:24 +0200 | kwii | (~kwii@193.19.203.71) () |
2023-10-25 14:27:02 +0200 | <mauke> | @where ops |
2023-10-25 14:27:02 +0200 | <lambdabot> | byorgey Cale conal copumpkin dcoutts dibblego dolio edwardk geekosaur glguy jmcarthur johnw mniip monochrom quicksilver shachaf shapr ski |
2023-10-25 14:28:47 +0200 | danse-nr3 | (~francesco@151.35.150.119) |
2023-10-25 14:31:57 +0200 | ChanServ | +o dibblego |
2023-10-25 14:32:19 +0200 | dibblego | +b *!*@189.172.34.154 |
2023-10-25 14:32:26 +0200 | naruto69 | dibblego (naruto69) |
2023-10-25 14:32:40 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-10-25 14:38:07 +0200 | hpc | (~juzz@ip98-169-35-163.dc.dc.cox.net) (Ping timeout: 264 seconds) |
2023-10-25 14:42:47 +0200 | billchenchina- | (~billchenc@2a0c:b641:7a2:230::10) |
2023-10-25 14:45:27 +0200 | billchenchina- | (~billchenc@2a0c:b641:7a2:230::10) (Remote host closed the connection) |
2023-10-25 14:45:42 +0200 | billchenchina- | (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) |
2023-10-25 14:46:41 +0200 | stuu22 | (~stuuu@2a01:c22:8cfe:e300:a9aa:ead8:c4c6:1a2f) |
2023-10-25 14:50:10 +0200 | <stuu22> | hi, i have the ominous error ld.lld undefined symbol when trying to compile with cabal on windows (i know, but it has to..). i tried ghc 9.6.2, 9.4.7 and 9.8.1. it works on mac and linux tho. anybody knows about this? the web does not give too much info about this |
2023-10-25 14:52:26 +0200 | <stuu22> | happens as soon as i try to use aeson in the code. on mac it helped to update to ghc 9.6.2. looks like a linking clang error, but i am not really firm with C/gcc and/or whatever. |
2023-10-25 14:53:17 +0200 | Inst | (~Inst@120.244.192.250) |
2023-10-25 14:53:39 +0200 | fendor_ | (~fendor@2a02:8388:1640:be00:dc89:8d8:5d44:854b) |
2023-10-25 14:54:13 +0200 | fendor | (~fendor@2a02:8388:1640:be00:dc89:8d8:5d44:854b) (Ping timeout: 260 seconds) |
2023-10-25 14:56:39 +0200 | dhruvasagar | (~dhruvasag@37.19.205.196) |
2023-10-25 14:59:06 +0200 | <danse-nr3> | stuu22, i am using WSL on windows. It sucks but i would not change it for "no linux at all" |
2023-10-25 14:59:38 +0200 | <danse-nr3> | i think the linker is missing? So some dependency that is not tracked by haskell. Did you install with ghcup? |
2023-10-25 15:00:36 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-10-25 15:00:50 +0200 | <[exa]> | stuu22: which symbol is undefined? (maybe pastebin the whole log) |
2023-10-25 15:00:59 +0200 | <mauke> | if you're getting an "undefined symbol" error from the linker, then the linker is not missing |
2023-10-25 15:01:02 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:7058:6d5c:2ab:360f) |
2023-10-25 15:03:16 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 256 seconds) |
2023-10-25 15:03:27 +0200 | <danse-nr3> | true sorry |
2023-10-25 15:03:45 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
2023-10-25 15:05:41 +0200 | <danse-nr3> | start of the sprint = skimming through stuff faster! :P |
2023-10-25 15:08:37 +0200 | waleee | (~waleee@2001:9b0:21c:e600:f2f3:f744:435d:137c) |
2023-10-25 15:10:26 +0200 | sm | (~sm@plaintextaccounting/sm) (Quit: sm) |
2023-10-25 15:10:58 +0200 | <stuu22> | yes, i installed with ghcup. i like the WSL idea (which i use most of the time on my personal machine), but this one has to run native. |
2023-10-25 15:11:01 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:7058:6d5c:2ab:360f) (Ping timeout: 260 seconds) |
2023-10-25 15:11:02 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-10-25 15:11:15 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2023-10-25 15:11:19 +0200 | <stuu22> | here is the full log: https://privatebin.net/?1d95cc51613ef84e#Fj4Rpie9nKfZuLkxAk9bQChSZZftiiz9uj4jEM9Fiyor |
2023-10-25 15:11:57 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
2023-10-25 15:13:44 +0200 | waleee | (~waleee@2001:9b0:21c:e600:f2f3:f744:435d:137c) (Ping timeout: 258 seconds) |
2023-10-25 15:18:39 +0200 | <lockywolf> | Is there a way to request an improvement to hackage? |
2023-10-25 15:19:27 +0200 | <lockywolf> | I want to have a link like https://hackage.haskell.org/package/semigroupoids-6.0.0.1/revision/semigroupoids-6.0.0.1-1.cabal |
2023-10-25 15:20:17 +0200 | <lockywolf> | instead of https://hackage.haskell.org/package/semigroupoids-6.0.0.1/revision/1.cabal |
2023-10-25 15:22:27 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-10-25 15:25:48 +0200 | stuu22 | (~stuuu@2a01:c22:8cfe:e300:a9aa:ead8:c4c6:1a2f) (Ping timeout: 240 seconds) |
2023-10-25 15:26:15 +0200 | stuu22 | (~stuuu@2a01:c22:8cfe:e300:1d0c:2eb2:7792:5e47) |
2023-10-25 15:27:17 +0200 | vglfr | (~vglfr@88.155.140.136) |
2023-10-25 15:27:29 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds) |
2023-10-25 15:28:12 +0200 | koz | (~koz@121.99.240.58) (Ping timeout: 248 seconds) |
2023-10-25 15:30:05 +0200 | danse-nr3 | (~francesco@151.35.150.119) (Remote host closed the connection) |
2023-10-25 15:30:29 +0200 | danse-nr3 | (~francesco@151.35.150.119) |
2023-10-25 15:30:45 +0200 | koz | (~koz@121.99.240.58) |
2023-10-25 15:32:12 +0200 | arahael | (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) (Ping timeout: 240 seconds) |
2023-10-25 15:32:51 +0200 | ChanServ | +o litharge |
2023-10-25 15:32:52 +0200 | litharge | -bo *!*@189.172.34.154 litharge |
2023-10-25 15:35:18 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2023-10-25 15:35:57 +0200 | sm | (~sm@plaintextaccounting/sm) (Quit: sm) |
2023-10-25 15:40:42 +0200 | vglfr | (~vglfr@88.155.140.136) (Read error: Connection reset by peer) |
2023-10-25 15:43:30 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2023-10-25 15:45:33 +0200 | koz | (~koz@121.99.240.58) (Ping timeout: 258 seconds) |
2023-10-25 15:46:34 +0200 | accord | (uid568320@id-568320.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2023-10-25 15:49:31 +0200 | stuu22 | (~stuuu@2a01:c22:8cfe:e300:1d0c:2eb2:7792:5e47) (Ping timeout: 264 seconds) |
2023-10-25 15:50:25 +0200 | koz | (~koz@121.99.240.58) |
2023-10-25 15:50:32 +0200 | mcfrdy | (~mcfrdy@user/mcfrdy) (Quit: quit) |
2023-10-25 15:50:52 +0200 | mcfrdy | (~mcfrdy@user/mcfrdy) |
2023-10-25 15:51:55 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 264 seconds) |
2023-10-25 15:53:33 +0200 | qqq | (~qqq@92.43.167.61) (Remote host closed the connection) |
2023-10-25 15:53:53 +0200 | qqq | (~qqq@92.43.167.61) |
2023-10-25 15:57:43 +0200 | Square3 | (~Square4@user/square) (Remote host closed the connection) |
2023-10-25 15:57:44 +0200 | <Unicorn_Princess> | how is cabal repl --repl-options supposed to be used? --ghc-options '-ghci-script "/path/to/script.ghci"' works, but the same with repl-options instead of ghc-options doesn't (no error, just doesn't load the script) |
2023-10-25 15:58:13 +0200 | ddb | (ddb@tilde.club) |
2023-10-25 15:58:23 +0200 | Square3 | (~Square4@user/square) |
2023-10-25 15:59:18 +0200 | <Unicorn_Princess> | i could be doing path quoting wrong - i'm pretty bad at it |
2023-10-25 16:00:14 +0200 | CO2 | (CO2@gateway/vpn/protonvpn/co2) (Quit: WeeChat 4.1.0) |
2023-10-25 16:05:43 +0200 | lambdap2371 | (~lambdap@static.167.190.119.168.clients.your-server.de) (Quit: Ping timeout (120 seconds)) |
2023-10-25 16:06:04 +0200 | lambdap2371 | (~lambdap@static.167.190.119.168.clients.your-server.de) |
2023-10-25 16:12:58 +0200 | califax | (~califax@user/califx) (Ping timeout: 256 seconds) |
2023-10-25 16:13:38 +0200 | califax | (~califax@user/califx) |
2023-10-25 16:16:35 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-10-25 16:21:34 +0200 | <danse-nr3> | not familiar with those sorry |
2023-10-25 16:24:23 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2023-10-25 16:24:53 +0200 | <Inst> | in record syntax, I can't apply a function to specify the source, right? |
2023-10-25 16:25:21 +0200 | CO2 | (CO2@gateway/vpn/protonvpn/co2) |
2023-10-25 16:27:45 +0200 | <Unicorn_Princess> | i don't understand - elaborate |
2023-10-25 16:27:56 +0200 | nyc | (~nyc@user/nyc) (Ping timeout: 248 seconds) |
2023-10-25 16:28:43 +0200 | <lortabac> | Inst: what is the source? |
2023-10-25 16:29:13 +0200 | <Inst> | say, data Foo = MkFoo {hello :: Int, goodbye :: Int} |
2023-10-25 16:29:24 +0200 | <Inst> | u :: Foo |
2023-10-25 16:29:38 +0200 | <Inst> | synonynm = hello |
2023-10-25 16:29:50 +0200 | <geekosaur> | lockywolf, probably file an issue against hackage-server, it's on cabal and on github |
2023-10-25 16:29:56 +0200 | <Inst> | synonym = hello |
2023-10-25 16:30:02 +0200 | <geekosaur> | Inst, no |
2023-10-25 16:30:04 +0200 | <Inst> | u {hello = 3} |
2023-10-25 16:30:06 +0200 | <Inst> | derp |
2023-10-25 16:30:07 +0200 | <Inst> | erm |
2023-10-25 16:30:13 +0200 | <Inst> | u {synonym = 3} |
2023-10-25 16:31:06 +0200 | <geekosaur> | field selectors can't be used that way. # syntax or RecordDotSyntax can, by defining the appropriate constraint |
2023-10-25 16:31:17 +0200 | sm_ | (~sm@plaintextaccounting/sm) |
2023-10-25 16:31:38 +0200 | <Inst> | # syntax? ?:( |
2023-10-25 16:31:50 +0200 | sm | (~sm@plaintextaccounting/sm) (Ping timeout: 246 seconds) |
2023-10-25 16:31:51 +0200 | <geekosaur> | foo #"xxx" or foo #xxx |
2023-10-25 16:32:02 +0200 | <Inst> | wait, when was this added? |
2023-10-25 16:32:26 +0200 | nyc | (~nyc@2603-7000-a106-2fb5-0000-0000-0000-1f21.res6.spectrum.com) |
2023-10-25 16:32:44 +0200 | <dminuoso> | Inst: Do you mean you want to dynamically resolve the record accessor? |
2023-10-25 16:32:50 +0200 | <Inst> | yeah |
2023-10-25 16:33:04 +0200 | <geekosaur> | it's been around a while but I don';t recall when it was added |
2023-10-25 16:33:05 +0200 | <dminuoso> | TemplateHaskell, or `lens/optics` are your friends then. |
2023-10-25 16:33:23 +0200 | <dminuoso> | fsvo "friends" |
2023-10-25 16:33:52 +0200 | <Inst> | "makeLenses" ugh |
2023-10-25 16:34:18 +0200 | <dminuoso> | Inst: You can also just write out a tag based writer `writeProperty :: FooTag -> Foo -> Int -> Foo` with `data FooTag = TagHello | TagGoodbye` |
2023-10-25 16:34:27 +0200 | <dminuoso> | Well, you can also write out the lenses manually if you like |
2023-10-25 16:34:48 +0200 | vglfr | (~vglfr@88.155.140.136) |
2023-10-25 16:35:09 +0200 | <dminuoso> | `lens/optics` is the far more elaborate and generalized approach to aboves `writeProperty` |
2023-10-25 16:36:56 +0200 | <Inst> | i guess i'll miss this silliness |
2023-10-25 16:37:09 +0200 | <Inst> | remember why ; was put into C syntax? |
2023-10-25 16:37:39 +0200 | <geekosaur> | https://downloads.haskell.org/ghc/9.8.1/docs/users_guide/exts/hasfield.html#virtual-record-fields |
2023-10-25 16:38:14 +0200 | <dminuoso> | Inst: B had it, ALGOL had it, PL/I had it. |
2023-10-25 16:38:14 +0200 | <geekosaur> | seems to be the only place where # syntaxc is mentioned any more, they're trying really hard to push OverloadedRecordDot instead |
2023-10-25 16:38:24 +0200 | <dminuoso> | So the semicolon predates C. |
2023-10-25 16:38:49 +0200 | <Inst> | iirc the point was to avoid copy errors during network transmission in, what, I forget what came even before 14.4kbps modems? |
2023-10-25 16:39:11 +0200 | <geekosaur> | 110 baud modems with BAUDOT, if you go back far enough |
2023-10-25 16:39:30 +0200 | <dminuoso> | Im going out on a limb to say that ALGOL 60 is probably the earliest widely adopted language that used the semicolon as statement separation. |
2023-10-25 16:39:31 +0200 | <geekosaur> | but the avoiding copy errors was done with parity bits, not extra syntax |
2023-10-25 16:39:59 +0200 | <geekosaur> | sorry, there were 75 baud modems early on too |
2023-10-25 16:40:08 +0200 | <dminuoso> | Ah, or whatever ALGOL came before that. |
2023-10-25 16:40:37 +0200 | <geekosaur> | there wasn't an earlier one? |
2023-10-25 16:40:57 +0200 | <geekosaur> | it's distinguished from ALGOL 68 |
2023-10-25 16:41:16 +0200 | <dminuoso> | There was ALGOL 58 as well. |
2023-10-25 16:41:25 +0200 | <geekosaur> | oh |
2023-10-25 16:42:30 +0200 | <dminuoso> | Found one earlier than that. |
2023-10-25 16:42:30 +0200 | vglfr | (~vglfr@88.155.140.136) (Read error: Connection reset by peer) |
2023-10-25 16:42:32 +0200 | <dminuoso> | https://en.wikipedia.org/wiki/FLOW-MATIC |
2023-10-25 16:42:54 +0200 | <dminuoso> | Though Im fairly certain whatever language this was burrowed from was forgotten in time. |
2023-10-25 16:43:06 +0200 | <Unicorn_Princess> | like tears |
2023-10-25 16:43:09 +0200 | <Unicorn_Princess> | in |
2023-10-25 16:43:11 +0200 | <Unicorn_Princess> | rain |
2023-10-25 16:43:14 +0200 | <Inst> | i mean the code reduplication to an extent is relaxing :( |
2023-10-25 16:50:46 +0200 | vglfr | (~vglfr@88.155.140.136) |
2023-10-25 16:57:42 +0200 | aljazmc | (~aljazmc@user/aljazmc) (Quit: Leaving) |
2023-10-25 17:08:33 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:1f7:634d:7013:a344) (Quit: WeeChat 2.8) |
2023-10-25 17:10:22 +0200 | Lycurgus | (~georg@user/Lycurgus) |
2023-10-25 17:14:41 +0200 | <EvanR> | "repeat your code" not the kind of unpythonic style I was thinking of xD |
2023-10-25 17:16:12 +0200 | <Inst> | i'm just happy it works, i'm annoyed that even with a lot of time, i'm only dumping 200 lines of trivial (and probably badly written) code per day |
2023-10-25 17:19:13 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:7058:6d5c:2ab:360f) |
2023-10-25 17:19:47 +0200 | Inst_ | (~Inst@120.244.192.250) |
2023-10-25 17:20:07 +0200 | danse-nr3 | (~francesco@151.35.150.119) (Ping timeout: 255 seconds) |
2023-10-25 17:20:14 +0200 | ski | (~ski@88.131.7.247) |
2023-10-25 17:21:50 +0200 | dhruvasagar1 | (~dhruvasag@49.207.194.211) |
2023-10-25 17:22:18 +0200 | <EvanR> | lens gets all the attention now, but at one point there was this https://github.com/haskellcats/semantic-editor-combinators |
2023-10-25 17:22:20 +0200 | Inst | (~Inst@120.244.192.250) (Ping timeout: 248 seconds) |
2023-10-25 17:22:21 +0200 | dhruvasagar1 | (~dhruvasag@49.207.194.211) (Client Quit) |
2023-10-25 17:22:33 +0200 | <EvanR> | that was for Inst |
2023-10-25 17:22:39 +0200 | <EvanR> | R.I.P. |
2023-10-25 17:22:45 +0200 | <yushyin> | :D |
2023-10-25 17:23:08 +0200 | <geekosaur> | fclabels predated them all, I think? |
2023-10-25 17:23:36 +0200 | <geekosaur> | although they quickly migrated to van Laarhoven after lens came out |
2023-10-25 17:23:56 +0200 | dhruvasagar | (~dhruvasag@37.19.205.196) (Ping timeout: 248 seconds) |
2023-10-25 17:25:30 +0200 | sabino | (~sabino@user/sabino) |
2023-10-25 17:26:52 +0200 | acidjnk | (~acidjnk@p200300d6e72b930390f6e959e0858704.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
2023-10-25 17:28:19 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
2023-10-25 17:28:23 +0200 | <Inst_> | is it possible to test games? |
2023-10-25 17:28:30 +0200 | <exarkun> | of course |
2023-10-25 17:28:31 +0200 | <Inst_> | i mean, of course it is, but it's significantly more difficult |
2023-10-25 17:28:39 +0200 | <Inst_> | to test games, since there's so many valid and obtainable states, no? |
2023-10-25 17:28:40 +0200 | <exarkun> | more difficult than what |
2023-10-25 17:28:51 +0200 | <Inst_> | other applications |
2023-10-25 17:28:58 +0200 | <Inst_> | i'm testing a tower of hanoi i built |
2023-10-25 17:29:15 +0200 | <exarkun> | what's hard about testing that |
2023-10-25 17:29:28 +0200 | <Inst_> | I'm trying to test the exit screen when I set N = 9 as default. |
2023-10-25 17:29:33 +0200 | acidjnk | (~acidjnk@p200300d6e72b93039c291881441b2222.dip0.t-ipconnect.de) |
2023-10-25 17:30:18 +0200 | Lycurgus | (~georg@user/Lycurgus) (Quit: leaving) |
2023-10-25 17:30:19 +0200 | <haskellbridge> | <sm> sometimes you need to build in testability features. Eg a mode where it logs each screen to a readable log file, which you can compare with past runs |
2023-10-25 17:31:01 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:7058:6d5c:2ab:360f) (Remote host closed the connection) |
2023-10-25 17:31:04 +0200 | <haskellbridge> | <sm> there's also tools like `expect` for automating interactive terminal I/O (usually not worth the trouble I feel) |
2023-10-25 17:31:05 +0200 | <Inst_> | I'm more asking about the state of the art in formally verifying games |
2023-10-25 17:31:10 +0200 | <EvanR> | many games have a debug tool, debug room, cheats, and if you defined a "save" properly you can easily restore the circumstances you're trying to test |
2023-10-25 17:31:18 +0200 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
2023-10-25 17:31:21 +0200 | <Inst_> | because when you're looking at a complex state machine like this, ummm |
2023-10-25 17:31:24 +0200 | <exarkun> | "games" as a category are barely more specified than "programs", or maybe not any more specified |
2023-10-25 17:31:30 +0200 | <exarkun> | so the question is as hard as "how do you test programs" |
2023-10-25 17:31:35 +0200 | <EvanR> | and of course the more pieces of your game that are purely functional, the easier is it to test that |
2023-10-25 17:31:50 +0200 | haskellbridge | <sm> ponders formally verify the exit screen... |
2023-10-25 17:31:53 +0200 | <EvanR> | putting it all in IO will exclude that |
2023-10-25 17:33:09 +0200 | <haskellbridge> | <sm> quickcheck & co might help |
2023-10-25 17:33:32 +0200 | <EvanR> | if your game involves floating point maths and physical models, you might need to use more brain to "verify" whatever it's supposed to do. But many games don't attempt it, leading to glitches |
2023-10-25 17:34:19 +0200 | <Inst_> | that's an interesting point, i.e, i probably should make this hanoi more purely functional, use a smaller loop and pass execution purely, instead of closure abuse |
2023-10-25 17:34:34 +0200 | <EvanR> | yes simple games can usually be functionalized |
2023-10-25 17:34:39 +0200 | <Inst_> | i'm not sure if you'd call this bad advice, but I told someone who, for some bizarre reason, liked Haskell's laziness but not its purity |
2023-10-25 17:34:48 +0200 | <Inst_> | just to abuse closures |
2023-10-25 17:35:04 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Quit: WeeChat 4.0.2) |
2023-10-25 17:35:15 +0200 | <Inst_> | everything in IO, only FP is in where clauses |
2023-10-25 17:36:05 +0200 | <EvanR> | that person is free to insert unsafePerformIOs everywhere and see how they like it |
2023-10-25 17:36:18 +0200 | danse-nr3 | (~francesco@151.35.150.119) |
2023-10-25 17:36:24 +0200 | <Inst_> | i think they're trolling because it's such a bizarre response |
2023-10-25 17:37:21 +0200 | stuu22 | (~stuuu@2a01:c22:8cfe:e300:1d0c:2eb2:7792:5e47) |
2023-10-25 17:38:03 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2023-10-25 17:38:05 +0200 | <Inst_> | i think in the future, for reasonably complex games, it'd be better to feature a more complex record type |
2023-10-25 17:38:44 +0200 | <Inst_> | IO layer only gets data, outputs data, then passes state enclosing data to a pure function instead |
2023-10-25 17:38:49 +0200 | <Inst_> | this is just way too tightly coupled |
2023-10-25 17:38:54 +0200 | <Inst_> | i mean, the way i'm doing it now |
2023-10-25 17:39:58 +0200 | <EvanR> | :t interact |
2023-10-25 17:39:59 +0200 | <lambdabot> | (String -> String) -> IO () |
2023-10-25 17:40:08 +0200 | <EvanR> | ok that one doesn't allow state. |
2023-10-25 17:40:42 +0200 | <EvanR> | (String -> s -> (String, s)) -> String -> s -> IO () |
2023-10-25 17:40:55 +0200 | <EvanR> | now zork can be purely functional |
2023-10-25 17:41:11 +0200 | <EvanR> | that's the only IO action |
2023-10-25 17:41:21 +0200 | stuu22 | ash3en |
2023-10-25 17:42:12 +0200 | <Inst_> | brb, smoke, but would be interested in the record signature |
2023-10-25 17:44:43 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 264 seconds) |
2023-10-25 17:46:26 +0200 | hrberg | (~quassel@171.79-160-161.customer.lyse.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2023-10-25 17:46:46 +0200 | hrberg | (~quassel@171.79-160-161.customer.lyse.net) |
2023-10-25 17:47:42 +0200 | danse-nr3_ | (~francesco@151.35.202.181) |
2023-10-25 17:49:32 +0200 | danse-nr3 | (~francesco@151.35.150.119) (Read error: Connection reset by peer) |
2023-10-25 17:49:41 +0200 | Maxdamantus | (~Maxdamant@user/maxdamantus) (Ping timeout: 255 seconds) |
2023-10-25 17:51:04 +0200 | <EvanR> | play :: Display -> Color -> Int -> s -> (s -> Picture) -> (Event -> s -> s) -> (Float -> s -> s) -> IO () -- now you have a purely graphical game (with no sound), this is from the gloss package |
2023-10-25 17:51:16 +0200 | <EvanR> | purely functional graphical game |
2023-10-25 17:51:22 +0200 | Maxdamantus | (~Maxdamant@user/maxdamantus) |
2023-10-25 17:52:03 +0200 | ubert | (~Thunderbi@178.165.198.50.wireless.dyn.drei.com) (Ping timeout: 258 seconds) |
2023-10-25 17:55:22 +0200 | tzh | (~tzh@c-71-193-181-0.hsd1.or.comcast.net) |
2023-10-25 17:55:56 +0200 | <ski> | EvanR : is that supposed to be something `unfoldr'y ? |
2023-10-25 17:56:12 +0200 | <ski> | (your penultimate signature) |
2023-10-25 17:57:45 +0200 | <ski> | let loop state0 input = ..(loop state remainingInput).. in interact (loop initState) -- this does state, btw |
2023-10-25 18:01:12 +0200 | <ski> | also, you could refactor `play' into |
2023-10-25 18:01:17 +0200 | Inst_ | (~Inst@120.244.192.250) (Ping timeout: 255 seconds) |
2023-10-25 18:01:19 +0200 | <ski> | play :: Display -> Color -> Int -> Stuff -> IO () |
2023-10-25 18:01:20 +0200 | <EvanR> | penultimate f msg state0 = do { putStrLn msg; input <- getLine; (response, state1) <- f input state0; penultimate f response state1 } |
2023-10-25 18:01:21 +0200 | <ski> | data Stuff = MkStuff Picture (Event -> Foo) (Float -> Foo) |
2023-10-25 18:01:40 +0200 | <ski> | (er, s/Foo/Stuff/) |
2023-10-25 18:01:48 +0200 | Buliarous | (~gypsydang@46.232.210.139) (Ping timeout: 248 seconds) |
2023-10-25 18:02:35 +0200 | CiaoSen | (~Jura@2a05:5800:2bd:d400:664b:f0ff:fe37:9ef) (Ping timeout: 240 seconds) |
2023-10-25 18:03:39 +0200 | <EvanR> | @src interact |
2023-10-25 18:03:40 +0200 | <lambdabot> | interact f = do s <- getContents; putStr (f s) |
2023-10-25 18:05:46 +0200 | <EvanR> | I see, lazy list I/O |
2023-10-25 18:07:27 +0200 | <ski> | penultimate f msg = interact . loop where loop state0 instream = msg ++ '\n' : case break ('\n' ==) instream of (input,rest) -> let (response,state1) = f input state0 in loop response state1 |
2023-10-25 18:08:03 +0200 | <ski> | (changing `f' back to non-`IO', as in your original signature) |
2023-10-25 18:09:42 +0200 | <Unicorn_Princess> | (correct me if i'm wrong) library source code goes in myproject/src/, executable source goes in app/MyExe.hs, non-code data files a project needs goes in data/ - but where do random development convenience/install scripts go? dev/? scripts/? tools/? |
2023-10-25 18:10:16 +0200 | <Unicorn_Princess> | (i know it's all subjective, asking for how it's usually done. guidelines) |
2023-10-25 18:10:46 +0200 | aljazmc | (~aljazmc@user/aljazmc) |
2023-10-25 18:10:48 +0200 | <ski> | EvanR : anyway, i just wanted to offer a riposte to "ok that one doesn't allow state." |
2023-10-25 18:11:13 +0200 | <EvanR> | yeah I got that. Now I'm internalizing the consequences for the style you suggested xD |
2023-10-25 18:11:13 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 258 seconds) |
2023-10-25 18:11:31 +0200 | ski | smiles |
2023-10-25 18:13:10 +0200 | <ski> | (should i expand on my refactoring of `play', or is it obvious how i arrived at it ?) |
2023-10-25 18:14:01 +0200 | <EvanR> | if you implement play with just lambda calculus I'll be impressed |
2023-10-25 18:14:28 +0200 | <ski> | well, `IO's in the type, presumably it's going to use some `IO' primitives |
2023-10-25 18:14:30 +0200 | <int-e> | . o O ( main :: [Reply] -> [Request] ) |
2023-10-25 18:15:03 +0200 | ski | offers a dialogue as final answer |
2023-10-25 18:15:54 +0200 | <EvanR> | [Reply] -> [Request] makes my brain explode |
2023-10-25 18:16:06 +0200 | <yin> | is there a cabal command to add a package as a dependency automatically with version constraints? |
2023-10-25 18:16:13 +0200 | <ski> | it's related to TyingTheKnot |
2023-10-25 18:16:46 +0200 | <int-e> | EvanR: I mean it's really the same idea as `interact` except there you have Reply = Request = Char so it's easier to miss the flow when glancing at the type. |
2023-10-25 18:16:48 +0200 | danse-nr3_ | (~francesco@151.35.202.181) (Remote host closed the connection) |
2023-10-25 18:17:09 +0200 | shapr | (~user@2600:1700:c640:3100:70ed:821a:ab80:9f0d) (Remote host closed the connection) |
2023-10-25 18:17:10 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2023-10-25 18:17:11 +0200 | danse-nr3_ | (~francesco@151.35.202.181) |
2023-10-25 18:17:15 +0200 | <Unicorn_Princess> | yin, don't know, but cabal can automatically give you the version bounds: https://cabal.readthedocs.io/en/3.4/cabal-package.html#generating-dependency-version-bounds |
2023-10-25 18:17:22 +0200 | shapr | (~user@2600:1700:c640:3100:5fc7:fa6:a4a8:54f1) |
2023-10-25 18:17:26 +0200 | <ski> | @wiki Tying the Knot |
2023-10-25 18:17:26 +0200 | <lambdabot> | https://wiki.haskell.org/Tying_the_Knot |
2023-10-25 18:17:30 +0200 | <EvanR> | interact seems to have a more causal behavior |
2023-10-25 18:18:10 +0200 | <ski> | EvanR : `type Dialogue = [Reply] -> [Request]' is how Haskell originally did I/O |
2023-10-25 18:18:16 +0200 | <EvanR> | yeah |
2023-10-25 18:18:33 +0200 | <EvanR> | 1 reply per request |
2023-10-25 18:18:44 +0200 | Inst_ | (~Inst@120.244.192.250) |
2023-10-25 18:18:45 +0200 | <ski> | that tends to make things simpler, yea |
2023-10-25 18:19:23 +0200 | <yin> | Unicorn_Princess: ty. it seems like a very small step from this to having it update the cabal file automatically |
2023-10-25 18:20:07 +0200 | <ski> | the original design for pre-Mercury (Ptah), used a similar idea : `main([Response|Reponses],[Request|Requests]) :- ...', where you'd instantiate `Request' to the action you wanted to perform, and the run-time system would then perform the I/O and instantiation `Response' back with the result |
2023-10-25 18:20:32 +0200 | <monochrom> | I don't know what "auto add dependency" means. How does it know that I want random-fu? |
2023-10-25 18:20:34 +0200 | <ski> | Zoltan Somogyi has some paper which talks about this .. i forgot which exact one |
2023-10-25 18:20:56 +0200 | <yin> | monochrom: cabal add random-fu |
2023-10-25 18:21:12 +0200 | <yin> | would be a command |
2023-10-25 18:21:37 +0200 | <monochrom> | OK I think people on the haskell discourse are still talking about that. |
2023-10-25 18:21:55 +0200 | <EvanR> | is that a command that basically edits your cabal file |
2023-10-25 18:22:03 +0200 | <monochrom> | I think I have never wanted it. |
2023-10-25 18:22:10 +0200 | <yin> | EvanR: yes |
2023-10-25 18:22:14 +0200 | <EvanR> | these kind of commands creep me out |
2023-10-25 18:22:25 +0200 | <EvanR> | I would run the command then check the file to make sure it worked |
2023-10-25 18:22:33 +0200 | qqq | (~qqq@92.43.167.61) (Remote host closed the connection) |
2023-10-25 18:22:52 +0200 | <EvanR> | or see what it did |
2023-10-25 18:22:57 +0200 | <EvanR> | so I'm in the file already |
2023-10-25 18:23:14 +0200 | <monochrom> | At the time I am want to add random-fu, I am not at a shell prompt, I am already at an editor. It is actually more trivial to go change the *.cabal file directly. |
2023-10-25 18:24:08 +0200 | <monochrom> | Switching context to a terminal just to use a "convenience" command is actually a path of higher resistance. |
2023-10-25 18:24:40 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
2023-10-25 18:25:01 +0200 | <monochrom> | Indeed already the newest version of "cabal init" adds things I need to delete. |
2023-10-25 18:25:04 +0200 | <Inst_> | EvanR: or you could go all the way to ponies, which is intended to provide a GUI for editing cabal files :) |
2023-10-25 18:25:14 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2023-10-25 18:26:14 +0200 | <EvanR> | Inst_, did you get any inspiration from these canned IO functions which takes non-IO "callbacks" |
2023-10-25 18:26:23 +0200 | <EvanR> | like interact or play |
2023-10-25 18:26:32 +0200 | <Inst_> | wait, play is in Gloss or System.IO? |
2023-10-25 18:26:44 +0200 | <EvanR> | gloss, it's more involved because graphics and timing |
2023-10-25 18:27:04 +0200 | <Inst_> | https://hoogle.haskell.org/?hoogle=play |
2023-10-25 18:27:17 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2023-10-25 18:27:21 +0200 | <Inst_> | see, that's more my complaint about Haskell libs being confusing :( |
2023-10-25 18:27:39 +0200 | <monochrom> | Would "cabal add random-fu" have a million options and knobs that let me customize how it's indented? >:) |
2023-10-25 18:27:40 +0200 | <EvanR> | um gloss is the first result on hoogle for what it's worth |
2023-10-25 18:27:46 +0200 | <Inst_> | interact I get, your (String -> s -> (String, s)) -> (String -> s -> IO () ) I get |
2023-10-25 18:27:48 +0200 | <EvanR> | what are you confused about |
2023-10-25 18:28:10 +0200 | <Inst_> | the type of play, ummm, how am I supposed to use it? :( |
2023-10-25 18:28:13 +0200 | <EvanR> | what I typed was stripped of its documentation https://hackage.haskell.org/package/gloss-1.13.2.2/docs/Graphics-Gloss.html#v:play |
2023-10-25 18:28:16 +0200 | <Inst_> | I mean I can look it up, it just takes time to get |
2023-10-25 18:28:18 +0200 | <int-e> | I don't know, aren't all libraries confusing, regardless of the language? |
2023-10-25 18:28:26 +0200 | <EvanR> | you can also click the link that hoogle gives you |
2023-10-25 18:28:42 +0200 | <Inst_> | yeah i know |
2023-10-25 18:28:53 +0200 | <int-e> | There's also https://hackage.haskell.org/package/gloss-1.13.2.2/docs/doc-index-P.html |
2023-10-25 18:28:57 +0200 | <monochrom> | Um, libraries that I wrote are not confusing. :) |
2023-10-25 18:29:01 +0200 | <Inst_> | If I can successfully work on Cabal (and have a good shot at doing the exact parser) |
2023-10-25 18:29:11 +0200 | <Inst_> | I'd probably be qualified to work Haddock |
2023-10-25 18:29:14 +0200 | <EvanR> | libraries I recommend are not confusing, tautology? xD |
2023-10-25 18:29:19 +0200 | <Inst_> | then I'd try to figure out how to improve Haddock |
2023-10-25 18:29:27 +0200 | <int-e> | monochrom: Even those that you wrote 10 years ago? |
2023-10-25 18:29:41 +0200 | <sclv> | a good use case for add-like functionality would be an IDE that knew to add containers if I imported Data.Map for example |
2023-10-25 18:30:24 +0200 | <Inst_> | groan, I can't even get ponies to the maturity level where it gives GUI hud for all of the cabal commands |
2023-10-25 18:30:42 +0200 | <int-e> | monochrom: (Assuming you've stopped using them of course. I'm trying to make a point about familiarity here.) |
2023-10-25 18:30:56 +0200 | <Inst_> | wait, that's IDE... |
2023-10-25 18:31:37 +0200 | <monochrom> | I think since 10-15 years ago I developed the habit of writing good docs. |
2023-10-25 18:32:32 +0200 | <ski> | monochrom : heh, was about to say that libraries that oneself has written are (sometimes) not confusing ;) |
2023-10-25 18:32:47 +0200 | <Rembane> | monochrom: How do you write good docs? |
2023-10-25 18:32:57 +0200 | <Rembane> | monochrom: Or, how does one write good docs? <- in case of math |
2023-10-25 18:33:18 +0200 | <monochrom> | I had developed good teaching experience, so I write like I'm teaching it. |
2023-10-25 18:34:23 +0200 | <monochrom> | And in the special case of teaching my future forgetful self, I kind of already know what I will easily figure out and what I will find non-obvious. |
2023-10-25 18:34:44 +0200 | shapr | (~user@2600:1700:c640:3100:5fc7:fa6:a4a8:54f1) (Read error: Connection reset by peer) |
2023-10-25 18:35:13 +0200 | <Rembane> | monochrom: That sounds like a very good way to write docs |
2023-10-25 18:35:33 +0200 | <Rembane> | monochrom: The catch is that teaching experience is required to copy your doc writing style. |
2023-10-25 18:36:13 +0200 | <Rembane> | I was hoping for shortcuts. :) |
2023-10-25 18:37:03 +0200 | <monochrom> | For example, in my own study notes on measure theory. let u be the unit Dirac delta measure, i.e., u(x)(A) = 1 if x in A, 0 o/w. There is a cute theorem "for a measurable predicate P, P holds almost everywhere iff P holds at x" |
2023-10-25 18:37:35 +0200 | <monochrom> | Now, I know that I am proud of an insider joke I made about "but it has measure zero so it doesn't matter". |
2023-10-25 18:37:41 +0200 | oo_miguel | (~Thunderbi@78-11-179-96.static.ip.netia.com.pl) (Quit: oo_miguel) |
2023-10-25 18:37:53 +0200 | <monochrom> | So in my notes, my proof just says that. :) |
2023-10-25 18:37:59 +0200 | <Rembane> | Good stuff! :D |
2023-10-25 18:38:28 +0200 | <EvanR> | "NB: you are proud of an insider joke you made about 'but it has measure zero so it doesn't matter'" |
2023-10-25 18:38:39 +0200 | <monochrom> | Here is the insider joke. |
2023-10-25 18:39:08 +0200 | <monochrom> | My real analysis prof announced "midterm test: next Wednesday 12am". |
2023-10-25 18:39:32 +0200 | <int-e> | midnight euphoria |
2023-10-25 18:39:38 +0200 | <monochrom> | So we were all like "don't you mean 12pm? noon?". He said oh yeah. |
2023-10-25 18:40:00 +0200 | <monochrom> | Then he explained why. In his opinion, noon should be called 12am, midnight should be called 12pm. |
2023-10-25 18:40:27 +0200 | <int-e> | . o O ( 12m ) |
2023-10-25 18:40:34 +0200 | ski | always confuses those |
2023-10-25 18:40:38 +0200 | <int-e> | since it's nether before nor after |
2023-10-25 18:41:00 +0200 | <int-e> | But then I'm not sure what to use for midnight :-P |
2023-10-25 18:41:07 +0200 | <monochrom> | Now, this being in the context of a measure theory course, (and I also thought about it previously), one must not pass up the pun opportunity to say, "but it ({noon, midnight}) is a set of measure zero, so it doesn't matter". :) |
2023-10-25 18:41:18 +0200 | <monochrom> | The whole class ROFL. |
2023-10-25 18:41:41 +0200 | ski | grinns |
2023-10-25 18:41:49 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2023-10-25 18:42:10 +0200 | <int-e> | y'all should switch to a 24 hour clock |
2023-10-25 18:42:32 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-10-25 18:43:07 +0200 | <Inst_> | is there a possible pun between Hanuman and Haskell? |
2023-10-25 18:43:36 +0200 | <Inst_> | An acquaintance agreed to start a github org for me to dump stuff like porting The Big Book of Small Python Projects to Haskell |
2023-10-25 18:44:37 +0200 | rgw | (~R@2605:a601:a0df:5600:e03b:6bd1:41db:b9ff) |
2023-10-25 18:46:44 +0200 | danse-nr3_ | (~francesco@151.35.202.181) (Ping timeout: 245 seconds) |
2023-10-25 18:48:36 +0200 | random-jellyfish | (~tiber@user/random-jellyfish) (Ping timeout: 260 seconds) |
2023-10-25 18:50:47 +0200 | dcoutts_ | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 246 seconds) |
2023-10-25 18:53:37 +0200 | kwii30 | (~kwii@193.19.203.71) |
2023-10-25 18:54:59 +0200 | kwii30 | (~kwii@193.19.203.71) (Client Quit) |
2023-10-25 18:56:17 +0200 | danse-nr3_ | (~francesco@151.35.202.181) |
2023-10-25 18:56:21 +0200 | <dminuoso> | "Scheduled delivery 11:00-12:00pm" |
2023-10-25 18:56:38 +0200 | <dminuoso> | Resolve into a timerange of UTC timepoints. How's that for a riddle? |
2023-10-25 18:57:16 +0200 | danse-nr3 | (~francesco@151.79.204.38) |
2023-10-25 18:59:24 +0200 | <EvanR> | use swatch internet time dotbeats |
2023-10-25 18:59:39 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-10-25 19:01:26 +0200 | danse-nr3_ | (~francesco@151.35.202.181) (Ping timeout: 258 seconds) |
2023-10-25 19:03:24 +0200 | Square3 | (~Square4@user/square) (Ping timeout: 245 seconds) |
2023-10-25 19:05:54 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2023-10-25 19:14:55 +0200 | tv | (~tv@user/tv) (Read error: Connection reset by peer) |
2023-10-25 19:15:29 +0200 | random-jellyfish | (~tiber@2a02:2f04:11e:c600:3081:413f:53c6:da60) |
2023-10-25 19:15:29 +0200 | random-jellyfish | (~tiber@2a02:2f04:11e:c600:3081:413f:53c6:da60) (Changing host) |
2023-10-25 19:15:29 +0200 | random-jellyfish | (~tiber@user/random-jellyfish) |
2023-10-25 19:16:56 +0200 | ridcully | (~ridcully@p57b5294c.dip0.t-ipconnect.de) (Quit: WeeChat 4.0.5) |
2023-10-25 19:17:14 +0200 | ridcully | (~ridcully@p57b5294c.dip0.t-ipconnect.de) |
2023-10-25 19:23:58 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-10-25 19:28:35 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
2023-10-25 19:29:23 +0200 | akyv13 | (~akyv13@2409:4060:39a:b61c:9c09:9c6f:b032:9005) |
2023-10-25 19:31:08 +0200 | rosco | (~rosco@yp-150-69.tm.net.my) (Quit: Lost terminal) |
2023-10-25 19:31:42 +0200 | <yin> | why am i getting ` Module ‘Network.WebSockets’ does not export ‘Connection’. `? |
2023-10-25 19:31:55 +0200 | <yin> | when it clearly does? |
2023-10-25 19:31:58 +0200 | tv | (~tv@user/tv) |
2023-10-25 19:32:29 +0200 | ash3en | (~stuuu@2a01:c22:8cfe:e300:1d0c:2eb2:7792:5e47) (Ping timeout: 258 seconds) |
2023-10-25 19:35:51 +0200 | random-jellyfish | (~tiber@user/random-jellyfish) (Ping timeout: 260 seconds) |
2023-10-25 19:36:17 +0200 | <int-e> | how did you import it? |
2023-10-25 19:37:43 +0200 | <yin> | import Network.WebSockets |
2023-10-25 19:38:00 +0200 | <yin> | import Network.WebSockets ( Connection ) -- this gives an error |
2023-10-25 19:38:57 +0200 | <EvanR> | it actually doesn't export the constructors |
2023-10-25 19:39:07 +0200 | <int-e> | It used to though. |
2023-10-25 19:39:35 +0200 | <EvanR> | did it? |
2023-10-25 19:39:49 +0200 | <EvanR> | import Network.WebSockets.Connection |
2023-10-25 19:39:56 +0200 | <int-e> | 0.9.x did, I have not checked between 0.9 and 0.12. |
2023-10-25 19:40:26 +0200 | <EvanR> | in 0.9.0.0 it didn't (from Network.WebSockets) |
2023-10-25 19:40:56 +0200 | <int-e> | Oh. |
2023-10-25 19:41:09 +0200 | <int-e> | You're right, I was looking at Network.WebSockets.Connection |
2023-10-25 19:41:47 +0200 | <int-e> | (Which still exports the constructor. But that's not the issue here.) |
2023-10-25 19:42:27 +0200 | <int-e> | Or maybe it is? That import shouldn't give an error... I imagine it's somewhere else in the code? |
2023-10-25 19:43:08 +0200 | <yin> | something's funky |
2023-10-25 19:43:23 +0200 | <yin> | Could not find module ‘Network.WebSockets.Connection’. |
2023-10-25 19:43:59 +0200 | <int-e> | Okay, maybe you have to check which package you're getting Network.WebSockets from |
2023-10-25 19:44:17 +0200 | <yin> | and i can't seem to get the correct version which should be 0.12 |
2023-10-25 19:45:06 +0200 | <yin> | how do i check that? |
2023-10-25 19:45:22 +0200 | <int-e> | It looks like ancient versions didn't have a Connection type. |
2023-10-25 19:45:34 +0200 | sm_ | (~sm@plaintextaccounting/sm) (Quit: sm_) |
2023-10-25 19:46:37 +0200 | <int-e> | But I mean ancient... it was added in websockets-0.8.0.0 as far as I can see, which is from 2013 |
2023-10-25 19:46:38 +0200 | dcoutts_ | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
2023-10-25 19:47:00 +0200 | <int-e> | On October 22nd, so pretty much exactly 10 years old. |
2023-10-25 19:48:51 +0200 | <int-e> | "how do I check that"... uh. I tend to check install plans (cabal install --dry-run). You could also add `--constraint 'websockets >= 0.12'` and see whether that fails and if so, how. |
2023-10-25 19:52:21 +0200 | <yin> | this is my .freeze https://paste.jrvieira.com/1698256307711 |
2023-10-25 19:54:18 +0200 | <int-e> | Well that lists websockets as 0.3.0.0, which is indeed way too old. |
2023-10-25 19:54:30 +0200 | <int-e> | don't ask me why though |
2023-10-25 19:54:31 +0200 | <yin> | https://paste.jrvieira.com/1698256455577 |
2023-10-25 19:54:57 +0200 | <yin> | oh wait |
2023-10-25 19:55:00 +0200 | <int-e> | rename the .freeze file and try again? |
2023-10-25 19:55:04 +0200 | <yin> | yeah |
2023-10-25 19:55:12 +0200 | <int-e> | (or remove it... since whatever is in there will never work anyway) |
2023-10-25 19:56:24 +0200 | <yin> | https://paste.jrvieira.com/1698256568625 |
2023-10-25 19:56:30 +0200 | <yin> | something to do with text i think |
2023-10-25 19:57:39 +0200 | <yin> | nope |
2023-10-25 19:57:46 +0200 | <int-e> | But ultimately it's base, so your ghc is too new. You can *try* `--allow-newer=base` |
2023-10-25 19:58:56 +0200 | <yin> | ah |
2023-10-25 19:59:28 +0200 | <yin> | ty |
2023-10-25 19:59:52 +0200 | <yin> | i guess i should keep with ghcup's recommended versions |
2023-10-25 20:01:56 +0200 | akyv13 | (~akyv13@2409:4060:39a:b61c:9c09:9c6f:b032:9005) (Ping timeout: 272 seconds) |
2023-10-25 20:03:17 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-10-25 20:06:18 +0200 | danse-nr3 | (~francesco@151.79.204.38) (Ping timeout: 260 seconds) |
2023-10-25 20:06:26 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 256 seconds) |
2023-10-25 20:07:51 +0200 | ubert | (~Thunderbi@178.165.198.50.wireless.dyn.drei.com) |
2023-10-25 20:12:33 +0200 | <yin> | well that was a good half hour list |
2023-10-25 20:12:35 +0200 | <yin> | *lost |
2023-10-25 20:14:47 +0200 | simendsjo | (~user@84.211.91.241) |
2023-10-25 20:27:55 +0200 | dcoutts_ | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 264 seconds) |
2023-10-25 20:32:24 +0200 | pavonia | (~user@user/siracusa) |
2023-10-25 20:33:15 +0200 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2023-10-25 20:36:16 +0200 | <Inst_> | what is wrong with forever? |
2023-10-25 20:36:27 +0200 | <Inst_> | if I use it to infinite loop, but have button presses accessed by a different thread |
2023-10-25 20:36:35 +0200 | <Inst_> | erm, forkIO |
2023-10-25 20:36:39 +0200 | <int-e> | ?! |
2023-10-25 20:36:39 +0200 | <lambdabot> | Maybe you meant: v @ ? . |
2023-10-25 20:36:41 +0200 | <Inst_> | the exception calling doesn't kick in |
2023-10-25 20:36:50 +0200 | <Inst_> | okay, my program goes |
2023-10-25 20:37:02 +0200 | <Inst_> | thread <- forkIO . forever $ putStrLn "Hello" |
2023-10-25 20:37:06 +0200 | <Inst_> | getChar |
2023-10-25 20:37:10 +0200 | <Inst_> | killThread thread |
2023-10-25 20:37:32 +0200 | <Inst_> | only way I get the expected behavior is to run on prog -threaded +RTS -N |
2023-10-25 20:37:34 +0200 | <EvanR> | if an exception is not caught in a non-main thread, it just kills the thread |
2023-10-25 20:37:56 +0200 | <EvanR> | unless you set something up to connect threads together, which async does |
2023-10-25 20:38:49 +0200 | <Inst_> | iirc forkIO is considered smelly |
2023-10-25 20:38:53 +0200 | <EvanR> | ... |
2023-10-25 20:39:32 +0200 | <geekosaur> | you need -threaded or for the thread to allocate (or maybe -fno-omit-yields) for that to work with the non-threaded runtime |
2023-10-25 20:39:33 +0200 | <EvanR> | any supporting arguments for that |
2023-10-25 20:40:07 +0200 | <mauke> | I'd be surprised if putStrLn doesn't allocate |
2023-10-25 20:40:30 +0200 | <EvanR> | putStrLn also interacts with the IO manager, so should cooperate |
2023-10-25 20:40:36 +0200 | <Inst_> | i can get it working with ghci -threaded +RTS -N |
2023-10-25 20:40:51 +0200 | <mauke> | do you need that +RTS option? |
2023-10-25 20:41:20 +0200 | <geekosaur> | ghci is always -threaded |
2023-10-25 20:41:32 +0200 | <Inst_> | hmmm, it's a stdin behavior i think |
2023-10-25 20:41:58 +0200 | <mauke> | ... actually, what is the expected behavior and what do you see instead? |
2023-10-25 20:42:17 +0200 | <Inst_> | if i set hSetBuffering stdin NoBuffering the detect will work |
2023-10-25 20:42:56 +0200 | <Inst_> | no threaded necessary |
2023-10-25 20:43:21 +0200 | <EvanR> | what are you even trying. |
2023-10-25 20:43:28 +0200 | <John_Ivan_> | What does the "m" constructor in the monad >>= stand for? I know it's "Monad" but what exactly is it? "m a -> (a -> m b) -> m b" |
2023-10-25 20:43:33 +0200 | <EvanR> | e.g. if you press backspace, you won't see a char with buffering |
2023-10-25 20:43:38 +0200 | <geekosaur> | EvanR, see https://downloads.haskell.org/ghc/9.2.5/docs/html/libraries/base-4.16.4.0/Control-Concurrent.html#… at "safe point" |
2023-10-25 20:43:47 +0200 | <John_Ivan_> | farshot guess, is it "IO" ? |
2023-10-25 20:44:03 +0200 | <geekosaur> | (`killThread` is `\tid -> throwTo tid ThreadKilled`) |
2023-10-25 20:44:15 +0200 | <Inst_> | I'm trying to pimp this program right now |
2023-10-25 20:44:17 +0200 | <Inst_> | https://inventwithpython.com/bigbookpython/project15.html |
2023-10-25 20:44:21 +0200 | <geekosaur> | John_Ivan_, it's any monad |
2023-10-25 20:44:30 +0200 | <geekosaur> | every monad has its own definition of (>>=) |
2023-10-25 20:44:42 +0200 | <geekosaur> | @src Maybe (>>=) |
2023-10-25 20:44:42 +0200 | <lambdabot> | (Just x) >>= k = k x |
2023-10-25 20:44:42 +0200 | <lambdabot> | Nothing >>= _ = Nothing |
2023-10-25 20:44:49 +0200 | <Inst_> | i'm trying to implement exit on any keyrpress behavior, whereas the py original requires ctrl c |
2023-10-25 20:44:50 +0200 | <geekosaur> | @src IO (>>=) |
2023-10-25 20:44:51 +0200 | <lambdabot> | m >>= k = bindIO m k |
2023-10-25 20:44:55 +0200 | <John_Ivan_> | geekosaur, any monad being... any instance of class Monad? |
2023-10-25 20:44:59 +0200 | <geekosaur> | yes |
2023-10-25 20:45:02 +0200 | <John_Ivan_> | gotcha. |
2023-10-25 20:45:04 +0200 | <John_Ivan_> | thanks |
2023-10-25 20:45:30 +0200 | santiagopim | (~user@90.167.66.131) |
2023-10-25 20:45:42 +0200 | <Inst_> | the behaviors I'm trying to add is probably via ansi-terminal, i.e, build a buffer to display, then display the buffer between calls |
2023-10-25 20:46:10 +0200 | <geekosaur> | inst_, if you want any keys to be passed back before a newline you must use hSetBuffering |
2023-10-25 20:47:13 +0200 | santiagopim | (~user@90.167.66.131) (Remote host closed the connection) |
2023-10-25 20:48:02 +0200 | <Inst_> | yeah I switched to hSetBuffering stdin NoBuffering |
2023-10-25 20:48:37 +0200 | <EvanR> | and then you still might not see anything if you press half of a unicode character? xD |
2023-10-25 20:48:38 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2023-10-25 20:49:08 +0200 | ski | (~ski@88.131.7.247) (Ping timeout: 255 seconds) |
2023-10-25 20:49:10 +0200 | <EvanR> | ok that's probably getting too far into the weeds |
2023-10-25 20:52:17 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2023-10-25 20:55:51 +0200 | <Inst_> | how would you press half of a unicode character? ?:( |
2023-10-25 20:55:55 +0200 | <Inst_> | oh |
2023-10-25 20:56:23 +0200 | <Inst_> | I think, maybe Japanese keyboards migth have this mode |
2023-10-25 20:56:33 +0200 | <Inst_> | wherein they input Japanese directly via mode switch |
2023-10-25 20:56:56 +0200 | <Inst_> | Chinese is IDE-based, iirc, there might be direct wubi inputs |
2023-10-25 20:57:02 +0200 | Pickchea | (~private@user/pickchea) |
2023-10-25 20:57:08 +0200 | <Inst_> | not sure about Arabic keyboards |
2023-10-25 20:58:08 +0200 | <Inst_> | arabic and hebrew keyboards exist, I'd think Indian keyboards would be more circumspect and just abuse the fact that English is a national language |
2023-10-25 20:58:31 +0200 | danza_ | (~francesco@151.35.202.181) |
2023-10-25 20:59:26 +0200 | <EvanR> | ISCII |
2023-10-25 20:59:52 +0200 | <Inst_> | devanagari keyboards exist, nad I assume for the wide variety of scripts |
2023-10-25 21:00:02 +0200 | <Inst_> | end of the day, Haskell's direct console story is mediocre |
2023-10-25 21:00:36 +0200 | <EvanR> | yeah haskell should come with powershell built-in |
2023-10-25 21:00:45 +0200 | <Inst_> | well, it's okay, but the default show insstance sucks |
2023-10-25 21:01:38 +0200 | <Inst_> | putStrLn "世界,你好!“ |
2023-10-25 21:01:52 +0200 | <Inst_> | works, direct string literal ends up being gibberish (unicode points) |
2023-10-25 21:02:28 +0200 | <Inst_> | print also returns unicode points |
2023-10-25 21:02:39 +0200 | johnw | (~johnw@69.62.242.138) (Quit: ZNC - http://znc.in) |
2023-10-25 21:02:43 +0200 | <EvanR> | no this is gibberish: £ |
2023-10-25 21:03:21 +0200 | <c_wraith> | print calls show. show encodes strings as very conservative ascii literals |
2023-10-25 21:03:25 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2023-10-25 21:04:01 +0200 | <c_wraith> | importantly, as Haskell source literals. |
2023-10-25 21:04:47 +0200 | <Inst_> | damnit, I'm guessing there's a long story as to why Vitaly Bragilevsky's unicode show doesn't work :( |
2023-10-25 21:05:21 +0200 | <EvanR> | show is basically for debugging and not pretty printing |
2023-10-25 21:05:29 +0200 | <Unicorn_Princess> | is it ok/appropriate to put my local noindex repository into ~/.cabal/packages/myrepo? |
2023-10-25 21:05:49 +0200 | <Inst_> | now this is interesting! |
2023-10-25 21:06:03 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:7473:6047:87f6:c0b2) |
2023-10-25 21:06:34 +0200 | <Inst_> | if I build a data constructor in unicode, then derive show, it'll show respecting unicode |
2023-10-25 21:06:44 +0200 | <Inst_> | string literal, fuggedabutit |
2023-10-25 21:08:32 +0200 | <int-e> | > length "!" |
2023-10-25 21:08:33 +0200 | <lambdabot> | 1 |
2023-10-25 21:12:47 +0200 | billchenchina- | (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Remote host closed the connection) |
2023-10-25 21:13:01 +0200 | Square | (~Square@user/square) |
2023-10-25 21:13:03 +0200 | <Inst_> | is there an arbitrary symbol that is counted as uppercase for Haskell's purposes? |
2023-10-25 21:13:10 +0200 | <EvanR> | A |
2023-10-25 21:13:16 +0200 | <EvanR> | oh, symbol |
2023-10-25 21:19:51 +0200 | <EvanR> | > find (\c -> isSymbol c && isUpper c) ['\0'..] |
2023-10-25 21:19:53 +0200 | <lambdabot> | Nothing |
2023-10-25 21:20:28 +0200 | <Unicorn_Princess> | but is '\0' really the first one? |
2023-10-25 21:20:38 +0200 | <EvanR> | > toEnum 0 :: Char |
2023-10-25 21:20:40 +0200 | <lambdabot> | '\NUL' |
2023-10-25 21:20:58 +0200 | <Unicorn_Princess> | is there a more principled way to get every char? |
2023-10-25 21:21:14 +0200 | danza_ | (~francesco@151.35.202.181) (Remote host closed the connection) |
2023-10-25 21:21:31 +0200 | <[exa]> | kinda wondering how to get more principled than ['\0'..] |
2023-10-25 21:21:33 +0200 | <EvanR> | > [minBound .. maxBound] :: String |
2023-10-25 21:21:35 +0200 | <lambdabot> | "\NUL\SOH\STX\ETX\EOT\ENQ\ACK\a\b\t\n\v\f\r\SO\SI\DLE\DC1\DC2\DC3\DC4\NAK\SY... |
2023-10-25 21:21:36 +0200 | danza_ | (~francesco@151.35.202.181) |
2023-10-25 21:21:59 +0200 | <Unicorn_Princess> | beautiful |
2023-10-25 21:22:04 +0200 | dcoutts_ | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
2023-10-25 21:22:35 +0200 | <EvanR> | relying on the principles of the per who defines the Enum instance |
2023-10-25 21:22:38 +0200 | <EvanR> | person |
2023-10-25 21:22:57 +0200 | ash3en | (~stuuu@2a01:c22:8cfe:e300:1d0c:2eb2:7792:5e47) |
2023-10-25 21:23:00 +0200 | <EvanR> | and Bounded |
2023-10-25 21:23:45 +0200 | falafel | (~falafel@62.175.113.194.dyn.user.ono.com) |
2023-10-25 21:23:49 +0200 | <ash3en> | me again.. sorry, but any chance someone dealt with ld.lld errors on windows? full log here: https://privatebin.net/?1d95cc51613ef84e#Fj4Rpie9nKfZuLkxAk9bQChSZZftiiz9uj4jEM9Fiyor |
2023-10-25 21:23:58 +0200 | <EvanR> | is there a way principled or not to get every Float |
2023-10-25 21:24:59 +0200 | <Inst_> | > minBound :: Char |
2023-10-25 21:25:01 +0200 | <lambdabot> | '\NUL' |
2023-10-25 21:25:31 +0200 | <Unicorn_Princess> | bitwise hackery? afaik every bit pattern is a valid float (valid includes Nan).. but i'm not 100% |
2023-10-25 21:26:37 +0200 | <EvanR> | > map unsafeCoerce ([minBound .. maxBound] :: [Word32]) :: [Float] |
2023-10-25 21:26:39 +0200 | <lambdabot> | error: |
2023-10-25 21:26:39 +0200 | <lambdabot> | Variable not in scope: unsafeCoerce :: Word32 -> Float |
2023-10-25 21:26:49 +0200 | <EvanR> | % map unsafeCoerce ([minBound .. maxBound] :: [Word32]) :: [Float] |
2023-10-25 21:26:49 +0200 | <yahb2> | <interactive>:25:46: error: ; Not in scope: type constructor or class ‘Word32’ ; Perhaps you meant ‘Word’ (imported from Prelude) |
2023-10-25 21:27:09 +0200 | <Unicorn_Princess> | I think default haskell float is 64 bits? |
2023-10-25 21:27:16 +0200 | <EvanR> | Double is |
2023-10-25 21:27:20 +0200 | <Unicorn_Princess> | ah |
2023-10-25 21:27:24 +0200 | danza_ | (~francesco@151.35.202.181) (Ping timeout: 240 seconds) |
2023-10-25 21:27:30 +0200 | <Unicorn_Princess> | must be thinking of python |
2023-10-25 21:28:34 +0200 | <int-e> | % import Data.Word |
2023-10-25 21:28:34 +0200 | <yahb2> | <no output> |
2023-10-25 21:28:54 +0200 | <EvanR> | % map unsafeCoerce ([minBound .. maxBound] :: [Word32]) :: [Float] |
2023-10-25 21:28:55 +0200 | <yahb2> | <interactive>:29:5: error: ; Variable not in scope: unsafeCoerce :: Word32 -> Float |
2023-10-25 21:29:11 +0200 | <int-e> | % import Unsafe.Coerce |
2023-10-25 21:29:11 +0200 | <yahb2> | <no output> |
2023-10-25 21:29:13 +0200 | <EvanR> | it's not meant to be done |
2023-10-25 21:32:42 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2023-10-25 21:33:41 +0200 | <EvanR> | ash3en, cabal file? |
2023-10-25 21:39:02 +0200 | <ash3en> | https://privatebin.net/?a0805c6c7cb6313d#8DuPDNrQ6RrWjt4B8B2SpAB9ryTL53Nv5GH831GTEskk :) here |
2023-10-25 21:39:19 +0200 | dcoutts_ | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 264 seconds) |
2023-10-25 21:42:13 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-10-25 21:44:20 +0200 | shapr | (~user@2600:1700:c640:3100:5fc7:fa6:a4a8:54f1) |
2023-10-25 21:52:36 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5) |
2023-10-25 21:54:40 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Ping timeout: 256 seconds) |
2023-10-25 21:56:04 +0200 | johnw | (~johnw@69.62.242.138) |
2023-10-25 21:56:53 +0200 | sansk_ | (~sansk@072-238-128-073.res.spectrum.com) |
2023-10-25 21:58:23 +0200 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2023-10-25 21:58:35 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2023-10-25 21:59:10 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2023-10-25 22:00:29 +0200 | ubert | (~Thunderbi@178.165.198.50.wireless.dyn.drei.com) (Ping timeout: 245 seconds) |
2023-10-25 22:02:13 +0200 | vglfr | (~vglfr@88.155.140.136) (Read error: Connection reset by peer) |
2023-10-25 22:10:09 +0200 | sansk | (~sansk@user/sansk) |
2023-10-25 22:12:42 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-10-25 22:15:06 +0200 | falafel | (~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 260 seconds) |
2023-10-25 22:15:11 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
2023-10-25 22:16:05 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 255 seconds) |
2023-10-25 22:16:35 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-10-25 22:22:14 +0200 | phma_ | (phma@2001:5b0:211b:d548:ffd5:bf9a:b80f:c063) |
2023-10-25 22:22:57 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
2023-10-25 22:23:01 +0200 | phma | (~phma@2001:5b0:211f:8338:4e4a:1088:5969:f228) (Read error: Connection reset by peer) |
2023-10-25 22:31:25 +0200 | sabino | (~sabino@user/sabino) (Quit: Lambda _ -> x) |
2023-10-25 22:33:08 +0200 | ash3en | (~stuuu@2a01:c22:8cfe:e300:1d0c:2eb2:7792:5e47) (Quit: Leaving) |
2023-10-25 22:38:26 +0200 | sabino | (~sabino@user/sabino) |
2023-10-25 22:44:53 +0200 | simendsjo | (~user@84.211.91.241) (Ping timeout: 255 seconds) |
2023-10-25 22:47:17 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-10-25 22:48:24 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-10-25 22:48:51 +0200 | dcoutts_ | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
2023-10-25 22:49:29 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2023-10-25 22:50:46 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Ping timeout: 256 seconds) |
2023-10-25 22:51:20 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2023-10-25 22:53:44 +0200 | sympt | (~sympt@user/sympt) (Quit: Ping timeout (120 seconds)) |
2023-10-25 22:54:23 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2023-10-25 22:54:37 +0200 | sympt | (~sympt@user/sympt) |
2023-10-25 22:55:38 +0200 | fendor_ | (~fendor@2a02:8388:1640:be00:dc89:8d8:5d44:854b) (Remote host closed the connection) |
2023-10-25 22:57:10 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2023-10-25 23:00:45 +0200 | johnw | (~johnw@69.62.242.138) (Quit: ZNC - http://znc.in) |
2023-10-25 23:23:50 +0200 | johnw | (~johnw@69.62.242.138) |
2023-10-25 23:24:22 +0200 | phma_ | phma |
2023-10-25 23:24:31 +0200 | jjhoo | (~jahakala@user/jjhoo) (Ping timeout: 252 seconds) |
2023-10-25 23:24:42 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) |
2023-10-25 23:25:28 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-10-25 23:26:43 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 264 seconds) |
2023-10-25 23:27:33 +0200 | hpc | (~juzz@ip98-169-35-163.dc.dc.cox.net) |
2023-10-25 23:28:44 +0200 | michalz | (~michalz@185.246.207.215) (Remote host closed the connection) |
2023-10-25 23:30:28 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds) |
2023-10-25 23:31:08 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2023-10-25 23:35:58 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-10-25 23:36:16 +0200 | yoyofreeman | (~yoyofreem@176.97.76.178) (Read error: Connection reset by peer) |
2023-10-25 23:36:23 +0200 | jjhoo | (~jahakala@user/jjhoo) |
2023-10-25 23:36:58 +0200 | yoyofreeman | (~yoyofreem@176.97.76.178) |
2023-10-25 23:41:12 +0200 | Lycurgus | (~georg@user/Lycurgus) |
2023-10-25 23:46:31 +0200 | <Inst_> | question: is this outdated? |
2023-10-25 23:46:33 +0200 | <Inst_> | https://chrisdone.com/posts/whats-wrong-with-implicitparams/ |
2023-10-25 23:48:38 +0200 | <c_wraith> | Nah, that's all correct. |
2023-10-25 23:48:47 +0200 | <c_wraith> | Also, they just don't solve the problems that I'd like them to |
2023-10-25 23:51:51 +0200 | <Inst_> | okay, reproduced it |
2023-10-25 23:52:23 +0200 | <Inst_> | not my problem short-term, was thinking about -XBraceArguments which desugars to implicit params and gives defaulting ability |
2023-10-25 23:52:53 +0200 | <Inst_> | as well as varargs |
2023-10-25 23:53:19 +0200 | <Inst_> | varargs are just great when you're designing an API, since you can hide everything behind a single function |
2023-10-25 23:53:45 +0200 | <geekosaur> | we like types though, and varargs plays havoc with typing |
2023-10-25 23:55:34 +0200 | <Inst_> | could not reproduce behavior described in ChrisDone's post |
2023-10-25 23:55:40 +0200 | <Inst_> | on GHCI, could with a cabal script |
2023-10-25 23:57:13 +0200 | <Inst_> | geekosaur: well, tbh, mid-term, it's a question of what a potential haddock overhaul might look like |
2023-10-25 23:57:57 +0200 | <geekosaur> | ghci's scoping rules differ enough that things might well not reproduce |
2023-10-25 23:59:25 +0200 | <Inst_> | and maybe it's just a lib design issue, i.e, people seem much less oriented on writing, say, a "how to write a lib api" vs a "how to use type families" tutorial |
2023-10-25 23:59:59 +0200 | <Inst_> | btw, lucid can supersede https://hackage.haskell.org/package/html-parse this except for speed, right? |