Logs: liberachat/#haskell
| 2021-08-19 15:02:24 | → | burnsidesLlama joins (~burnsides@client-8-91.eduroam.oxuni.org.uk) |
| 2021-08-19 15:02:28 | × | mousey quits (~skymouse@gateway/tor-sasl/mousey) (Ping timeout: 244 seconds) |
| 2021-08-19 15:03:26 | × | kuribas quits (~user@ptr-25vy0i7uk2tkov5vedj.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
| 2021-08-19 15:04:10 | → | mousey joins (~skymouse@gateway/tor-sasl/mousey) |
| 2021-08-19 15:09:28 | × | Sgeo quits (~Sgeo@user/sgeo) (Ping timeout: 252 seconds) |
| 2021-08-19 15:10:02 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 2021-08-19 15:11:54 | × | burnsidesLlama quits (~burnsides@client-8-91.eduroam.oxuni.org.uk) (Remote host closed the connection) |
| 2021-08-19 15:14:11 | → | jespada joins (~jespada@90.254.247.46) |
| 2021-08-19 15:15:23 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds) |
| 2021-08-19 15:15:59 | → | nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
| 2021-08-19 15:19:35 | → | tfeb joins (~tfb@88.98.95.237) |
| 2021-08-19 15:20:31 | → | burnsidesLlama joins (~burnsides@client-8-91.eduroam.oxuni.org.uk) |
| 2021-08-19 15:22:27 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-08-19 15:22:32 | × | haykam quits (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection) |
| 2021-08-19 15:22:45 | → | haykam joins (~haykam@static.100.2.21.65.clients.your-server.de) |
| 2021-08-19 15:26:23 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 2021-08-19 15:28:15 | <dsal> | It seems that if you're storing data your intend to ignore, it'd be better to not store it. |
| 2021-08-19 15:28:19 | × | byorgey quits (~byorgey@155.138.238.211) (Quit: leaving) |
| 2021-08-19 15:29:32 | × | hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1) |
| 2021-08-19 15:30:01 | → | hendursaga joins (~weechat@user/hendursaga) |
| 2021-08-19 15:30:49 | × | burnsidesLlama quits (~burnsides@client-8-91.eduroam.oxuni.org.uk) (Remote host closed the connection) |
| 2021-08-19 15:30:55 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 2021-08-19 15:31:26 | → | burnsidesLlama joins (~burnsides@client-8-91.eduroam.oxuni.org.uk) |
| 2021-08-19 15:31:56 | → | kuribas joins (~user@ptr-25vy0i7uk2tkov5vedj.18120a2.ip6.access.telenet.be) |
| 2021-08-19 15:32:32 | <kuribas> | if I run cabal-repl, then load a package (for example :set -package pretty-simple), it has unloaded my project? |
| 2021-08-19 15:32:35 | <kuribas> | How can I load a package without unloading what is there? |
| 2021-08-19 15:35:11 | × | dajoer quits (~david@user/gvx) (Quit: leaving) |
| 2021-08-19 15:35:19 | × | Boomerang quits (~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 252 seconds) |
| 2021-08-19 15:35:39 | → | polyphem joins (~polyphem@ip5f5ac3ae.dynamic.kabel-deutschland.de) |
| 2021-08-19 15:35:40 | × | burnsidesLlama quits (~burnsides@client-8-91.eduroam.oxuni.org.uk) (Ping timeout: 240 seconds) |
| 2021-08-19 15:39:12 | × | Sgeo quits (~Sgeo@user/sgeo) (Ping timeout: 268 seconds) |
| 2021-08-19 15:39:42 | → | abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) |
| 2021-08-19 15:39:44 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 2021-08-19 15:40:06 | <kuribas> | it's just very annoying... |
| 2021-08-19 15:40:19 | <c_wraith> | kuribas: add the extra packages when starting the repl with extra -b arguments |
| 2021-08-19 15:40:46 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-08-19 15:40:54 | <kuribas> | c_wraith: so you cannot load into a running ghci? |
| 2021-08-19 15:41:37 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection) |
| 2021-08-19 15:42:56 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 2021-08-19 15:43:28 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 2021-08-19 15:43:44 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 2021-08-19 15:43:59 | <c_wraith> | I mean, I guess you can, then :load modules from your current package afterwards |
| 2021-08-19 15:44:13 | <c_wraith> | but it's always going to clear local definitions |
| 2021-08-19 15:44:58 | <kuribas> | that's kinda ok. |
| 2021-08-19 15:46:44 | <c_wraith> | .... tbh, I kind of think cabal repl's choice to load all exposed modules in your package is weird anyway |
| 2021-08-19 15:47:40 | <kuribas> | does it load the modules, or only make them available? |
| 2021-08-19 15:47:42 | × | tfeb quits (~tfb@88.98.95.237) (Quit: died) |
| 2021-08-19 15:49:24 | → | o1lo01ol1o joins (~o1lo01ol1@bl13-86-242.dsl.telepac.pt) |
| 2021-08-19 15:49:39 | <kuribas> | I do :set -package pretty-simple, then import Snapshot.CSV => Could not find module 'Snapshot.CSV' |
| 2021-08-19 15:51:04 | <kuribas> | hmm :l works |
| 2021-08-19 15:51:22 | <c_wraith> | yes, :load is for source, import is for compiled code in packages you depend on |
| 2021-08-19 15:51:37 | → | azeem joins (~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it) |
| 2021-08-19 15:53:28 | × | nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
| 2021-08-19 15:53:40 | <kuribas> | What if I want to create something in one module, then apply functions from another module to it? |
| 2021-08-19 15:53:50 | <kuribas> | All this is pretty easy in clojure... |
| 2021-08-19 15:54:36 | → | econo joins (uid147250@user/econo) |
| 2021-08-19 15:54:47 | <c_wraith> | then... just do it? |
| 2021-08-19 15:55:09 | <c_wraith> | Err. I don't mean in response to the Clojure remark. |
| 2021-08-19 15:55:15 | <c_wraith> | I mean you can load multiple files |
| 2021-08-19 15:55:25 | <kuribas> | load doesn't unload existing bindings? |
| 2021-08-19 15:56:12 | <c_wraith> | it does |
| 2021-08-19 15:56:46 | × | haskl[error] quits (~haskl@98.37.78.63) (Read error: Connection reset by peer) |
| 2021-08-19 15:56:48 | <kuribas> | so I load a value using one module, then the binding is gone when I load the other... |
| 2021-08-19 15:56:55 | <c_wraith> | just load both |
| 2021-08-19 15:57:44 | ← | wxallowed parts (~d4@151.51.135.6) () |
| 2021-08-19 15:58:24 | → | haskl joins (~haskl@98.37.78.63) |
| 2021-08-19 15:58:40 | × | Sgeo quits (~Sgeo@user/sgeo) (Ping timeout: 240 seconds) |
| 2021-08-19 15:59:49 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds) |
| 2021-08-19 16:01:03 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 2021-08-19 16:01:16 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 2021-08-19 16:02:45 | → | lbseale joins (~lbseale@user/ep1ctetus) |
| 2021-08-19 16:02:47 | <kuribas> | in which case there is no point in using cabal-repl? |
| 2021-08-19 16:02:58 | <c_wraith> | Oh, I see. When you :load multiple source files, only the first one is put in scope automatically. You have to import the rest |
| 2021-08-19 16:03:20 | <kuribas> | except the rest is not anymore availble |
| 2021-08-19 16:03:48 | <c_wraith> | ... are you not using :load with multiple files at once? |
| 2021-08-19 16:04:24 | <sclv> | :mod+ or import also work to manage scope |
| 2021-08-19 16:04:48 | <c_wraith> | because I assure you, you can load and work with multiple modules at once. |
| 2021-08-19 16:04:50 | × | Atum_ quits (~IRC@user/atum/x-2392232) (Remote host closed the connection) |
| 2021-08-19 16:05:07 | <kuribas> | hmm, ok then |
| 2021-08-19 16:05:49 | <c_wraith> | :load Foo Bar will make both available, and put Foo into scope. You can import Bar afterwards to have both in scope |
| 2021-08-19 16:06:55 | → | Atum_ joins (~IRC@user/atum/x-2392232) |
| 2021-08-19 16:07:36 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 2021-08-19 16:07:41 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 2021-08-19 16:08:10 | → | burnsidesLlama joins (~burnsides@client-8-91.eduroam.oxuni.org.uk) |
| 2021-08-19 16:08:52 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-08-19 16:09:26 | × | Sgeo quits (~Sgeo@user/sgeo) (Ping timeout: 252 seconds) |
| 2021-08-19 16:10:42 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 2021-08-19 16:13:06 | <c_wraith> | anyway. Things like this have fewer gotchas in clojure because lisp is based on mutating the global environment all the time anyway. def mutates the global bindings available. The language semantics are centered around mutating the global bindings. Haskell assumes the global bindings are a static list. So if you change them, GHC has chosen the ultra-conservative approach of restarting from scratch, because a lot of things weren't designed to handle |
| 2021-08-19 16:13:06 | <c_wraith> | it otherwise. |
| 2021-08-19 16:13:06 | × | burnsidesLlama quits (~burnsides@client-8-91.eduroam.oxuni.org.uk) (Ping timeout: 268 seconds) |
| 2021-08-19 16:13:48 | <kuribas> | yeah, it would be theoretically possible, but very hard to implement. |
| 2021-08-19 16:13:52 | × | haykam quits (~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection) |
| 2021-08-19 16:14:04 | → | haykam joins (~haykam@static.100.2.21.65.clients.your-server.de) |
| 2021-08-19 16:15:35 | × | Atum_ quits (~IRC@user/atum/x-2392232) (Quit: No Ping reply in 180 seconds.) |
| 2021-08-19 16:15:36 | <c_wraith> | It's especially annoying with modules that unsafePerformIO constants into their top-level bindings. |
| 2021-08-19 16:16:22 | × | vs^ quits (~vs@209.65.131.194) (Remote host closed the connection) |
| 2021-08-19 16:16:27 | <c_wraith> | Particularly when it's something like a global MVar that the module uses as a mutex |
| 2021-08-19 16:16:44 | <c_wraith> | Which isn't a great design, but I've seen packages do it |
| 2021-08-19 16:17:34 | <c_wraith> | and I understand the impulse when binding to C libraries that corrupt their own memory when called concurrently |
| 2021-08-19 16:17:57 | → | Atum_ joins (~IRC@user/atum/x-2392232) |
All times are in UTC.