Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,803,349 events total
2021-07-23 19:51:23 <davean> I only see the second in a few cases
2021-07-23 19:51:28 <davean> It occures, but its rare
2021-07-23 19:51:47 <davean> platz: whats historical about it?
2021-07-23 19:51:58 <adamse> platz: intial vs final have meaning beyond data constructors and tc's. i got a lot from attending http://www.cs.nott.ac.uk/~psznhn/MGS2018/MGS2018-courses.html#COA, perhaps the lecture notes are useful
2021-07-23 19:52:27 <arkanoid> thanks
2021-07-23 19:53:13 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
2021-07-23 19:53:13 <davean> platz: Many current designs are tagged
2021-07-23 19:53:31 <dminuoso> arkanoid: "standalone systems" rarely exist. Most of the time systems are an integrated part of some larger architecture.
2021-07-23 19:53:37 alx741 joins (~alx741@186.178.108.59)
2021-07-23 19:54:40 <adamse> arkanoid: i use haskell for both parts at $work, final application and various libraries called from other (non-haskell) apps
2021-07-23 19:55:21 <janus> does making a web server count as "being called by FFI" ?
2021-07-23 19:55:49 <monochrom> I think people call that "called by API".
2021-07-23 19:56:17 <dminuoso> Arguably, calling into a C library from Haskell is calling by API too.
2021-07-23 19:56:22 <arkanoid> dminuoso: if you put it down like that, like janus says, you can consider every IPC or API
2021-07-23 19:56:31 <monochrom> I would not be unhappy if they at least clarified that to "web API".
2021-07-23 19:56:45 <dminuoso> arkanoid: My point is, we're incrementally replacing parts of a larger architecture here by Haskell parts.
2021-07-23 19:57:01 <dminuoso> But none of that is through what one would ordinarily call FFI.
2021-07-23 19:57:26 <davean> dminuoso: no, thats via ABI :-p
2021-07-23 19:57:42 <arkanoid> so you're integrating haskell by replacing services
2021-07-23 19:57:45 <dminuoso> Perhaps part of why FFI is unsuitable in general, is that the common denominator here is C, and that's a fairly ugly low level where mapping your high level parts might be really cumbersome.
2021-07-23 19:57:50 Guest70 joins (~Guest70@192.75.101.164)
2021-07-23 19:58:06 <platz> davean: i'll take a look, thanks
2021-07-23 19:58:27 × favonia quits (~favonia@user/favonia) (Ping timeout: 245 seconds)
2021-07-23 19:58:59 × m4lvin quits (~m4lvin@w4eg.de) (Quit: m4lvin)
2021-07-23 19:59:22 m4lvin joins (~m4lvin@w4eg.de)
2021-07-23 19:59:57 favonia joins (~favonia@user/favonia)
2021-07-23 20:00:06 <arkanoid> the haskell wiki on the FFI page says "Note that to call a Haskell function, the runtime system must have been initialized with a call to "hs_init". It must be released with a call to "hs_exit" when it is no longer required. See the user guide for more details" but the link is broken https://wiki.haskell.org/Foreign_Function_Interface
2021-07-23 20:00:33 <janus> arkanoid: the link at the top works, i'll fix the other
2021-07-23 20:00:37 <dminuoso> And worse, if the other language is not C, you will end up needing C wrappers - which makes for very annoying semantics. If either of those languages has things like memory management, lifetime tracking, non-trivial concepts of threads/processes, signal management, you get into a whole world of pain.
2021-07-23 20:02:05 <janus> fixed now
2021-07-23 20:02:25 <arkanoid> woa, that was quick! thanks
2021-07-23 20:04:05 <arkanoid> dminuoso: ccall would be perfect in my case. I wonder what will be the memory footprint, I intend to do experiments on low-end devices
2021-07-23 20:04:46 <dsal> I read that as call/cc
2021-07-23 20:05:33 × juhp quits (~juhp@128.106.188.220) (Ping timeout: 258 seconds)
2021-07-23 20:05:34 × arthurxavierx quits (~arthurxav@201.17.157.69) (Remote host closed the connection)
2021-07-23 20:05:39 <dminuoso> arkanoid: So one of my first worries would be, what effects does calling into hs_init have exactly? What signal handlers does it install?
2021-07-23 20:06:14 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-07-23 20:06:44 juhp joins (~juhp@128.106.188.220)
2021-07-23 20:06:46 <arkanoid> exactly, but I wonder why they should be installed
2021-07-23 20:09:37 × Guest70 quits (~Guest70@192.75.101.164) (Quit: Client closed)
2021-07-23 20:10:25 Deide joins (~Deide@217.155.19.23)
2021-07-23 20:10:25 × Deide quits (~Deide@217.155.19.23) (Changing host)
2021-07-23 20:10:25 Deide joins (~Deide@user/deide)
2021-07-23 20:11:30 × favonia quits (~favonia@user/favonia) (Ping timeout: 240 seconds)
2021-07-23 20:11:54 favonia joins (~favonia@user/favonia)
2021-07-23 20:13:48 arthurxavierx joins (~arthurxav@201.17.157.69)
2021-07-23 20:14:01 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
2021-07-23 20:15:13 <janus> arkanoid: phadej recommended using capi over ccall
2021-07-23 20:17:08 <adamse> i've proposed a change to the ghc users guide: https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6234, but i'm not sure if someone other than me would find it better. any thoughts?
2021-07-23 20:17:19 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-23 20:18:57 dagit joins (~dagit@2601:1c2:1b7f:9fa0:445:559:1c8d:e5d1)
2021-07-23 20:19:48 <arkanoid> janus: isn't capi to call C code from haskell?
2021-07-23 20:19:50 <dminuoso> adamse: To keep the form correct, perhaps just "Runtime System Options" (such that the abbreviation (RTS) is introduced in the text below). Alternatively, I'd write it as "Runtime System (RTS) Options", and then not introduce the abbreviation in the text below.
2021-07-23 20:20:11 × arthurxavierx quits (~arthurxav@201.17.157.69) (Remote host closed the connection)
2021-07-23 20:20:11 <arkanoid> I plan to do the other way arount (but actually unsure, actually)
2021-07-23 20:21:23 × curiousgay quits (~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 252 seconds)
2021-07-23 20:21:37 <janus> ooh i dunno if capi can do exports, sorry, i missed that
2021-07-23 20:24:10 pera joins (~pera@user/pera)
2021-07-23 20:25:14 × favonia quits (~favonia@user/favonia) (Ping timeout: 252 seconds)
2021-07-23 20:25:34 favonia joins (~favonia@user/favonia)
2021-07-23 20:25:51 arthurxavierx joins (~arthurxav@201.17.157.69)
2021-07-23 20:27:52 × arthurxavierx quits (~arthurxav@201.17.157.69) (Remote host closed the connection)
2021-07-23 20:27:58 <adamse> dminuoso: thanks, i like your second suggestion (i want to put RTS in the title to simplify searching and scanning the toc)
2021-07-23 20:30:10 × fendor quits (~fendor@91.141.32.205.wireless.dyn.drei.com) (Remote host closed the connection)
2021-07-23 20:33:10 fendor joins (~fendor@91.141.32.205.wireless.dyn.drei.com)
2021-07-23 20:34:16 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-07-23 20:34:51 acidjnk joins (~acidjnk@p200300d0c72b9578b0632702c8b77fa8.dip0.t-ipconnect.de)
2021-07-23 20:37:22 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 256 seconds)
2021-07-23 20:40:50 × Matthias1 quits (~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Remote host closed the connection)
2021-07-23 20:42:12 Matthias1 joins (~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
2021-07-23 20:42:58 <maerwald> janus: yes use capi
2021-07-23 20:43:23 <maerwald> ccall often breaks on darwin, where you have lots of dark header CPP magic
2021-07-23 20:44:17 <maerwald> example https://github.com/biegunka/terminal-size/pull/16
2021-07-23 20:44:45 <maerwald> (that bug took an entire day to find)
2021-07-23 20:45:07 dagit_ joins (~dagit@2601:1c2:1b7f:9fa0:445:559:1c8d:e5d1)
2021-07-23 20:45:13 × favonia quits (~favonia@user/favonia) (Ping timeout: 250 seconds)
2021-07-23 20:45:13 × dagit_ quits (~dagit@2601:1c2:1b7f:9fa0:445:559:1c8d:e5d1) (Client Quit)
2021-07-23 20:46:09 finsternis joins (~X@23.226.237.192)
2021-07-23 20:46:32 arthurxavierx joins (~arthurxav@201.17.157.69)
2021-07-23 20:47:03 favonia joins (~favonia@user/favonia)
2021-07-23 20:51:18 × Matthias1 quits (~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Remote host closed the connection)
2021-07-23 20:52:58 jmorris joins (uid433911@id-433911.stonehaven.irccloud.com)
2021-07-23 20:54:27 × arthurxavierx quits (~arthurxav@201.17.157.69) (Remote host closed the connection)
2021-07-23 20:54:57 notzmv joins (~zmv@user/notzmv)
2021-07-23 20:58:00 Matthias1 joins (~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
2021-07-23 20:58:00 tzh_ joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-07-23 20:58:20 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
2021-07-23 20:58:56 × Obo quits (~roberto@70.pool90-171-81.dynamic.orange.es) (Quit: WeeChat 2.8)
2021-07-23 20:59:36 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Ping timeout: 252 seconds)
2021-07-23 21:00:06 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-07-23 21:01:20 mikoto-chan joins (~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be)
2021-07-23 21:02:58 <monochrom> capi is close to being a case of "those who have learned from history are doomed to helplessly watch people repeat it" :)
2021-07-23 21:04:00 <monochrom> A long long time ago if you wrote "foreign import ccall "header.h" ..." the idea was that the compiler may read and care about header.h for sanity checks.
2021-07-23 21:04:44 <monochrom> The operative word here is "may" because it is also OK if the compiler doesn't. Indeed when GHC switched to native codegen it stopped doing that.
2021-07-23 21:05:03 <monochrom> Now we have capi which restored that old tradition.
2021-07-23 21:10:31 × Matthias1 quits (~Matthias1@cpe-76-170-236-166.socal.res.rr.com) ()
2021-07-23 21:13:02 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-23 21:13:10 × dtman34 quits (~dtman34@c-73-62-246-247.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
2021-07-23 21:15:22 × ircbrowse_tom quits (~ircbrowse@static.162.49.55.162.clients.your-server.de) (ZNC 1.7.5+deb4 - https://znc.in)
2021-07-23 21:15:36 ircbrowse_tom_ joins (~ircbrowse@2a01:4f8:1c1c:9319::1)

All times are in UTC.