Logs: freenode/#haskell
| 2020-09-20 18:42:51 | <Cale> | Our keyboards need more keys |
| 2020-09-20 18:43:02 | × | ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection) |
| 2020-09-20 18:43:24 | → | wroathe joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) |
| 2020-09-20 18:43:36 | <hyperisco> | one idea is to decouple the notion of overloading |
| 2020-09-20 18:43:49 | → | ukari joins (~ukari@unaffiliated/ukari) |
| 2020-09-20 18:44:29 | → | xerox_ joins (~xerox@unaffiliated/xerox) |
| 2020-09-20 18:44:33 | <Cale> | Add a subclass of Num called Ring, with no additional operations, but more laws |
| 2020-09-20 18:44:38 | <hyperisco> | basically what Num does now, at least the report version |
| 2020-09-20 18:44:53 | × | mpereira quits (~mpereira@2a02:810d:f40:d96:b46b:1e98:8653:4550) (Remote host closed the connection) |
| 2020-09-20 18:44:59 | <Cale> | and then things which truly care that they have a proper Ring can demand it |
| 2020-09-20 18:45:47 | <phadej> | Ring is wrong for Natural |
| 2020-09-20 18:46:15 | <phadej> | even without thinking about Double :) |
| 2020-09-20 18:46:33 | <hyperisco> | a trouble being that Num defines a lot of syntax, more than say a semiring would want |
| 2020-09-20 18:47:02 | <hyperisco> | I guess this is the Idris lawful/lawless duality all over again |
| 2020-09-20 18:47:30 | <hyperisco> | one is just syntax, the other adds semantics |
| 2020-09-20 18:47:56 | <hyperisco> | maybe just a different mechanism is warranted, than type classes |
| 2020-09-20 18:48:09 | <hyperisco> | C++ has macros, by preprocessor or template |
| 2020-09-20 18:48:15 | <hyperisco> | it isn't a shining example but it is more truthful |
| 2020-09-20 18:48:24 | × | juuandyy quits (~juuandyy@90.166.144.65) (Ping timeout: 260 seconds) |
| 2020-09-20 18:49:01 | <phadej> | I also don't know how much Ocaml people hate the difference between + and .+ |
| 2020-09-20 18:49:39 | <phadej> | whether the dotted operators are driving people crazy and into Haskell |
| 2020-09-20 18:49:52 | <hyperisco> | I suspect the best way to solve this is with the editor / code viewer |
| 2020-09-20 18:49:53 | <[exa]> | is there a squiggly variant of + in utf8 that could mark the approximate + on doubles etc ? |
| 2020-09-20 18:50:14 | <[exa]> | because this is really just ascii problem |
| 2020-09-20 18:50:14 | <hyperisco> | but that upends probably the most entrenched aspect of programming |
| 2020-09-20 18:51:06 | <hyperisco> | I already use compose sequences to type things like → |
| 2020-09-20 18:51:08 | <ski> | ⍭ |
| 2020-09-20 18:51:10 | <ski> | maybe ? |
| 2020-09-20 18:51:31 | <[exa]> | looks too precise |
| 2020-09-20 18:52:26 | <ski> | ⨤ |
| 2020-09-20 18:52:32 | <hyperisco> | if the same symbol was used in two ways then all I'd ask is there be some subtle indication of overloading, be it by colour or an extra mark (especially for the colourblind) |
| 2020-09-20 18:52:42 | <hyperisco> | and the editor affords a way to unmask the overload |
| 2020-09-20 18:53:01 | <[exa]> | ski: that's a strong candidate! |
| 2020-09-20 18:53:18 | <hyperisco> | so then we don't have to play the unicode game either |
| 2020-09-20 18:53:19 | × | shad0w_ quits (~shad0w_@160.202.36.27) (Remote host closed the connection) |
| 2020-09-20 18:53:56 | <ski> | (there's ⌜⨦⌝, too) |
| 2020-09-20 18:54:04 | <hyperisco> | in other words, there is a difference of syntax representation in a way somewhat similar to the compose sequences I use |
| 2020-09-20 18:54:23 | <hyperisco> | I have multiple ways to type → say, but they present the same |
| 2020-09-20 18:55:06 | <hyperisco> | and all I'd want to know is that 1) → represents more than one sequence and 2) which sequence it represents, but I only need to know (2) by explicitly asking |
| 2020-09-20 18:55:23 | → | orion joins (~orion@c-76-19-238-5.hsd1.nh.comcast.net) |
| 2020-09-20 18:55:23 | × | orion quits (~orion@c-76-19-238-5.hsd1.nh.comcast.net) (Changing host) |
| 2020-09-20 18:55:23 | → | orion joins (~orion@unaffiliated/orion) |
| 2020-09-20 18:55:31 | <hyperisco> | so then we can have + and .+ and whatever, and these present both as + |
| 2020-09-20 18:55:56 | <hyperisco> | plus some signal it is overloaded |
| 2020-09-20 18:56:51 | <hyperisco> | and all this without having to go off the deep end of projectional editing |
| 2020-09-20 18:57:40 | × | mariatsji quits (~mariatsji@2a01:79d:53aa:c66c:342b:5324:f59b:5b0e) (Remote host closed the connection) |
| 2020-09-20 18:58:10 | → | kenran joins (~maier@b2b-37-24-119-190.unitymedia.biz) |
| 2020-09-20 18:58:17 | → | mariatsji joins (~mariatsji@2a01:79d:53aa:c66c:342b:5324:f59b:5b0e) |
| 2020-09-20 19:00:27 | → | sfvm joins (~sfvm@37.228.215.148) |
| 2020-09-20 19:00:41 | → | adam_wespiser joins (~adam_wesp@209.6.42.110) |
| 2020-09-20 19:00:45 | × | abhixec quits (~abhixec@c-67-169-141-95.hsd1.ca.comcast.net) (Ping timeout: 260 seconds) |
| 2020-09-20 19:01:18 | → | abhixec joins (~abhixec@c-67-169-141-95.hsd1.ca.comcast.net) |
| 2020-09-20 19:01:20 | <sm[m]> | I don't suppose there's any easy way to tell GHCI to use the extensions configured for a particular module ? |
| 2020-09-20 19:01:48 | adam_wespiser | is now known as adamwespiser |
| 2020-09-20 19:02:33 | <adamwespiser> | On load, you should be able to load a specific module, if I recall correctly, and in that module can be your extensions |
| 2020-09-20 19:02:55 | <geekosaur> | but that doesn't set them for interactive use |
| 2020-09-20 19:02:57 | × | mariatsji quits (~mariatsji@2a01:79d:53aa:c66c:342b:5324:f59b:5b0e) (Ping timeout: 260 seconds) |
| 2020-09-20 19:03:08 | <sm[m]> | right |
| 2020-09-20 19:03:10 | × | kenran quits (~maier@b2b-37-24-119-190.unitymedia.biz) (Ping timeout: 258 seconds) |
| 2020-09-20 19:03:12 | × | Dolly quits (585fd1fd@ti0203q160-5312.bb.online.no) (Remote host closed the connection) |
| 2020-09-20 19:03:18 | <geekosaur> | nor does having multiple modules loaded and switching between them |
| 2020-09-20 19:03:31 | <sm[m]> | I'm always being thwarted by mismatches between the module and ghci |
| 2020-09-20 19:03:33 | × | Lycurgus quits (~niemand@98.4.96.130) (Quit: Exeunt) |
| 2020-09-20 19:04:11 | <geekosaur> | (and this is often a feature, consider ExtendedDefaultRules which you probably don't want turned off by loading a module) |
| 2020-09-20 19:04:16 | <sm[m]> | I guess I can make some shorter aliases to turn them on/off |
| 2020-09-20 19:05:32 | <ddellacosta> | kind of a nix question, but can anyone tell me (or point me at docs for) how to override a dependency in a nix Haskell project with a local version of that package which I've compiled myself? Basically I just want to install my copy of the library just for that Haskell project |
| 2020-09-20 19:06:35 | <sm[m]> | on another note, if anyone here has experience with sdl2, I have questions. Eg, why does destroyWindow not get rid of the window when running in GHCI. And, why does kill -TERM not kill a sdl app, it must be kill -KILL |
| 2020-09-20 19:08:35 | → | bennofs joins (~quassel@dslb-178-000-064-245.178.000.pools.vodafone-ip.de) |
| 2020-09-20 19:09:04 | → | thir joins (~thir@p200300f27f0fc600ed2222922a5678d5.dip0.t-ipconnect.de) |
| 2020-09-20 19:10:47 | × | shafox quits (~shafox@106.51.234.111) (Remote host closed the connection) |
| 2020-09-20 19:12:34 | × | howdoi quits (uid224@gateway/web/irccloud.com/x-dtashatgyjqumlie) (Quit: Connection closed for inactivity) |
| 2020-09-20 19:12:44 | × | bennofs_ quits (~quassel@dslb-188-106-250-199.188.106.pools.vodafone-ip.de) (Ping timeout: 272 seconds) |
| 2020-09-20 19:13:04 | → | notzmv`` joins (~user@177.103.86.92) |
| 2020-09-20 19:14:02 | × | thir quits (~thir@p200300f27f0fc600ed2222922a5678d5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 2020-09-20 19:15:24 | × | josh quits (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Remote host closed the connection) |
| 2020-09-20 19:16:00 | → | josh joins (~josh@c-67-164-104-206.hsd1.ca.comcast.net) |
| 2020-09-20 19:16:05 | × | notzmv` quits (~user@177.103.86.92) (Ping timeout: 240 seconds) |
| 2020-09-20 19:17:41 | → | cosimone joins (~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6) |
| 2020-09-20 19:18:44 | <koz_> | Is there a good way to generate a Text randomly which _is_ valid UTF-8, but _not_ valid Latin-1? |
| 2020-09-20 19:19:24 | <geekosaur> | I don't think there's an invalid Latin-1 |
| 2020-09-20 19:19:52 | <geekosaur> | unless you mean embedded control codes or similar, but that would also apply to UTF-8 |
| 2020-09-20 19:19:55 | <koz_> | I think I'm being imprecise, sorry. I want to generate Text which contains at least one grapheme requiring a multi-byte encoding in UTF-8. |
| 2020-09-20 19:20:05 | <koz_> | What's a good way to do this? |
| 2020-09-20 19:20:16 | × | josh quits (~josh@c-67-164-104-206.hsd1.ca.comcast.net) (Ping timeout: 246 seconds) |
| 2020-09-20 19:20:28 | <phadej> | arbitrary ++ [multibytechar] ++ arbitrary |
| 2020-09-20 19:20:51 | <adamwespiser> | If you have a bytestring, I might use Data.Text.Encoding for that task |
| 2020-09-20 19:20:53 | <geekosaur> | include at least one grapheme with a codepoint > 255 |
| 2020-09-20 19:21:04 | <phadej> | geekosaur: >=128 |
| 2020-09-20 19:21:16 | <phadej> | but >255 would work too |
| 2020-09-20 19:21:24 | <geekosaur> | no, because 128..255 are valid Latin-1 |
| 2020-09-20 19:21:36 | <phadej> | at least one grapheme requiring a multi-byte encoding in UTF-8. |
| 2020-09-20 19:21:39 | <koz_> | phadej: Yeah, that's a good point. |
| 2020-09-20 19:21:44 | <koz_> | Thanks! |
| 2020-09-20 19:21:52 | <phadej> | codepoint 128 is encoded as two bytes |
| 2020-09-20 19:22:04 | <phadej> | up to koz_ to refine the specification |
| 2020-09-20 19:22:19 | <koz_> | phadej: The basic idea works well though. |
| 2020-09-20 19:22:28 | <koz_> | Thanks for the suggestion. |
| 2020-09-20 19:24:58 | hackage | stm-queue 0.1.2.0 - An implementation of a real-time concurrent queue https://hackage.haskell.org/package/stm-queue-0.1.2.0 (sgschlesinger) |
| 2020-09-20 19:26:09 | → | bahamas joins (~lucian@unaffiliated/bahamas) |
| 2020-09-20 19:30:27 | hackage | Win32 2.10.0.0 - A binding to Windows Win32 API. https://hackage.haskell.org/package/Win32-2.10.0.0 (TamarChristina) |
All times are in UTC.