Logs: freenode/#haskell
| 2021-04-21 20:30:32 | → | hexfive joins (~hexfive@50.35.83.177) |
| 2021-04-21 20:31:57 | × | ClaudiusMaximus quits (~claude@unaffiliated/claudiusmaximus) (Quit: ->) |
| 2021-04-21 20:32:05 | × | nineonine quits (~nineonine@2604:3d08:7785:9600:5c9e:8d21:d745:3944) (Ping timeout: 250 seconds) |
| 2021-04-21 20:32:38 | → | myShoggoth joins (~myShoggot@75.164.11.109) |
| 2021-04-21 20:36:20 | × | alx741 quits (~alx741@181.196.68.199) (Ping timeout: 246 seconds) |
| 2021-04-21 20:39:38 | × | Aquazi quits (uid312403@gateway/web/irccloud.com/x-fvdnxupudqhwtjny) (Quit: Connection closed for inactivity) |
| 2021-04-21 20:43:03 | × | fendor quits (~fendor@91.141.3.112.wireless.dyn.drei.com) (Remote host closed the connection) |
| 2021-04-21 20:43:22 | → | sammyh joins (~sammyh@vps-15813cea.vps.ovh.net) |
| 2021-04-21 20:44:49 | × | rodriga quits (~quassel@134.204.25.66) (Ping timeout: 252 seconds) |
| 2021-04-21 20:45:29 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-04-21 20:45:47 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-04-21 20:45:54 | → | bitmapper joins (uid464869@gateway/web/irccloud.com/x-zaklydynoasermoj) |
| 2021-04-21 20:47:38 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 2021-04-21 20:49:14 | → | alx741 joins (~alx741@186.178.109.231) |
| 2021-04-21 20:49:46 | × | hypercube quits (hypercube@gateway/vpn/protonvpn/hypercube) (Quit: WeeChat 3.1) |
| 2021-04-21 20:51:05 | × | LKoen quits (~LKoen@92.163.9.109.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
| 2021-04-21 20:51:11 | × | stef204 quits (~stef204@unaffiliated/stef-204/x-384198) (Quit: WeeChat 3.1) |
| 2021-04-21 20:51:19 | ← | safinaskar parts (~user@109.252.90.136) () |
| 2021-04-21 20:51:21 | → | safinaskar joins (~user@109.252.90.136) |
| 2021-04-21 20:52:03 | → | dmytrish joins (~mitra@2a02:8084:a82:d900:fdd2:ac3d:3471:66d9) |
| 2021-04-21 20:52:19 | → | stef204 joins (~stef204@unaffiliated/stef-204/x-384198) |
| 2021-04-21 20:52:25 | <safinaskar> | is there a way to dynamically evaluate some haskell code, ideally in the form of ast? i know about "hint" package, but its description says "requires ghc installed", i don't want such requirement |
| 2021-04-21 20:53:40 | × | cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.1) |
| 2021-04-21 20:54:26 | <infinisil> | safinaskar: Are you sure it needs to be Haskell? |
| 2021-04-21 20:54:31 | × | jao quits (~jao@pdpc/supporter/professional/jao) (Ping timeout: 245 seconds) |
| 2021-04-21 20:55:28 | <infinisil> | Because to evaluate haskell you need to compile it, which requires a GHC compiler, therefore the requirement |
| 2021-04-21 20:57:49 | <safinaskar> | infinisil: i mean i don't want requirement to have ghc binary on system. but i am ok with dependency on some kind of library |
| 2021-04-21 20:58:08 | <geekosaur> | ghc exists as a library but that more or less means ghc installed |
| 2021-04-21 20:58:15 | <infinisil> | Yeah that won't really work |
| 2021-04-21 20:58:17 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds) |
| 2021-04-21 20:58:21 | <Uniaika> | yep' |
| 2021-04-21 20:58:21 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 2021-04-21 20:58:30 | <infinisil> | safinaskar: What's your use case? |
| 2021-04-21 20:59:37 | <geekosaur> | conceivably it would be possible to make hugs work, provided you stick to its subset of ghc's functionality; it's a smaller footprint than ghc but I think doesn't come as a library as it is |
| 2021-04-21 21:00:55 | <safinaskar> | infinisil: i. e. i want to be able to copy my program to another machine with all its shared libraries and i want it to work. it is okey if one of this libraries will be ghc library. but this is not okey if ghc executable is required, too. is this possible? |
| 2021-04-21 21:01:51 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 2021-04-21 21:02:00 | <infinisil> | Oh yeah that's not the right approach for this |
| 2021-04-21 21:02:10 | <c_wraith> | the big issue with using ghc as a library is really that you depend on the package databases still |
| 2021-04-21 21:02:33 | <safinaskar> | so is this possible? |
| 2021-04-21 21:02:58 | <infinisil> | Well, I know how to do it with Nix. No idea how GHC programs usually get distributed |
| 2021-04-21 21:02:59 | × | slack1256 quits (~slack1256@200-112-79-98.baf.movistar.cl) (Remote host closed the connection) |
| 2021-04-21 21:03:02 | <c_wraith> | It's basically impossible to have installed libraries with having GHC |
| 2021-04-21 21:04:40 | → | elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
| 2021-04-21 21:04:51 | <c_wraith> | If you want to run haskell code and allow it to have access to definitions in base, you need base to be installed. That's not the same as compiled into your program |
| 2021-04-21 21:05:30 | <infinisil> | I think they just want a distribution mechanism for a compiled binary |
| 2021-04-21 21:05:48 | <geekosaur> | which brings up another good point: with or without ghc, the things you compile can't access your program's internals |
| 2021-04-21 21:05:56 | <geekosaur> | it would be a separate program |
| 2021-04-21 21:06:08 | → | DavidEichmann joins (~david@147.136.46.217.dyn.plus.net) |
| 2021-04-21 21:06:32 | × | hyperisco quits (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 240 seconds) |
| 2021-04-21 21:08:16 | <safinaskar> | c_wraith: ok, thanks |
| 2021-04-21 21:08:31 | <safinaskar> | well, okey, thanks everybody, so, this is impossible |
| 2021-04-21 21:08:33 | <c_wraith> | GHC is just not well suited for embedding except in cases where it's running on the machine that compiled it. |
| 2021-04-21 21:11:06 | <c_wraith> | This is mostly the result of how it handles libraries with separate compilation and using the system linker |
| 2021-04-21 21:11:22 | <infinisil> | safinaskar: https://www.reddit.com/r/haskell/comments/a0stgf/how_to_package_and_distribute_software/eals7zn/ |
| 2021-04-21 21:11:25 | <infinisil> | How about this ^ |
| 2021-04-21 21:11:39 | <infinisil> | Compiling the program with `-static -optc-static -optl-static` |
| 2021-04-21 21:14:25 | ← | safinaskar parts (~user@109.252.90.136) () |
| 2021-04-21 21:15:15 | → | ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 2021-04-21 21:15:57 | → | mastarija joins (~mastarija@31.217.16.219) |
| 2021-04-21 21:16:32 | × | jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.1) |
| 2021-04-21 21:17:12 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds) |
| 2021-04-21 21:17:24 | → | conal joins (~conal@64.71.133.70) |
| 2021-04-21 21:18:01 | × | knupfer quits (~Thunderbi@200116b82b5e7400d544a78922962f4e.dip.versatel-1u1.de) (Ping timeout: 250 seconds) |
| 2021-04-21 21:19:43 | <c_wraith> | this sort of sounds like something that could be integrated into cabal. Though it'd be a lot of work. Still, you could tell cabal to package up all the interface and library files and store them as data in a distributable package, and while it's at it add stubs for using the ghc api configured with exactly the same flags it uses for your project. |
| 2021-04-21 21:19:49 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 2021-04-21 21:21:07 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-04-21 21:22:14 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 2021-04-21 21:25:24 | → | horatiohb joins (~horatiohb@104.236.234.13) |
| 2021-04-21 21:28:45 | × | mikoto-chan quits (~anass@gateway/tor-sasl/mikoto-chan) (Ping timeout: 240 seconds) |
| 2021-04-21 21:30:14 | × | Tario quits (~Tario@201.192.165.173) (Ping timeout: 246 seconds) |
| 2021-04-21 21:30:38 | → | nicholasbulka joins (~nicholasb@2601:900:4301:da0:bdc9:711a:32b8:207e) |
| 2021-04-21 21:30:49 | <monochrom> | Static linking will not help you with deploying GHC-API-using exes to a no-GHC machine at all. |
| 2021-04-21 21:30:57 | → | Tario joins (~Tario@200.119.185.36) |
| 2021-04-21 21:31:01 | × | nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds) |
| 2021-04-21 21:31:18 | <monochrom> | This is because the statically-linked GHC-API will still dynamically open GHC's *.so files during run time. |
| 2021-04-21 21:31:30 | <monochrom> | That's right, no typo there. |
| 2021-04-21 21:31:52 | <monochrom> | In fact it gets worse^W better. |
| 2021-04-21 21:32:23 | <monochrom> | The dlopen uses an absolute path, the very same absolute path as where GHC's *.so files are during build time. |
| 2021-04-21 21:32:27 | → | nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 2021-04-21 21:34:42 | × | Tario quits (~Tario@200.119.185.36) (Read error: Connection reset by peer) |
| 2021-04-21 21:34:55 | × | nicholasbulka quits (~nicholasb@2601:900:4301:da0:bdc9:711a:32b8:207e) (Ping timeout: 250 seconds) |
| 2021-04-21 21:35:32 | → | Tario joins (~Tario@201.192.165.173) |
| 2021-04-21 21:35:45 | <monochrom> | You will probably find that a docker approach is more viable. And use pretty much the same docker image for both building your exe and deploying. OK the deploy image can skip gcc and make, sure. |
| 2021-04-21 21:36:37 | → | elliott_ joins (~elliott@pool-108-18-30-46.washdc.fios.verizon.net) |
| 2021-04-21 21:36:54 | → | rj_ joins (~x@gateway/tor-sasl/rj) |
| 2021-04-21 21:37:59 | × | michalz quits (~user@185.246.204.47) (Remote host closed the connection) |
| 2021-04-21 21:39:13 | → | boogsbunny joins (2d23821c@45.35.130.28) |
| 2021-04-21 21:39:33 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 2021-04-21 21:40:47 | × | Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
| 2021-04-21 21:41:15 | × | gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
| 2021-04-21 21:41:38 | → | cagrioz64 joins (4ea70324@78.167.3.36) |
| 2021-04-21 21:43:08 | × | cagrioz64 quits (4ea70324@78.167.3.36) (Client Quit) |
| 2021-04-21 21:43:09 | × | rj_ quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds) |
| 2021-04-21 21:43:35 | <monochrom> | It is becoming more and more naïve to believe that you can solve all deployment problems by shouting "static linking!" at the build tool a huge number of times. |
| 2021-04-21 21:43:46 | → | sleblanc joins (~sleblanc@unaffiliated/sebleblanc) |
| 2021-04-21 21:44:11 | × | elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 240 seconds) |
| 2021-04-21 21:44:14 | → | cagrioz83 joins (4ea70324@78.167.3.36) |
| 2021-04-21 21:44:22 | <monochrom> | It was true of most C ecosystems a long time ago, in a much simpler time, in a previous life. |
| 2021-04-21 21:44:45 | <monochrom> | Today even glibc makes that false. |
| 2021-04-21 21:45:04 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
All times are in UTC.