Logs: liberachat/#haskell
| 2021-07-23 18:52:07 | <davean> | EvanR: I think they both have their place |
| 2021-07-23 18:53:05 | <monochrom> | :) |
| 2021-07-23 18:53:36 | → | Obo joins (~roberto@70.pool90-171-81.dynamic.orange.es) |
| 2021-07-23 18:56:42 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 276 seconds) |
| 2021-07-23 18:57:51 | <EvanR> | yeah... important to see 'the world' for it's virtues or no one hires you! xD |
| 2021-07-23 18:59:06 | <davean> | Being hired sounds like one of the world's virtues |
| 2021-07-23 19:00:37 | <davean> | Bit of circular logic there. |
| 2021-07-23 19:00:37 | → | thmprover joins (~user@047-042-215-236.res.spectrum.com) |
| 2021-07-23 19:00:37 | × | Matthias1 quits (~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Remote host closed the connection) |
| 2021-07-23 19:01:23 | → | Matthias1 joins (~Matthias1@cpe-76-170-236-166.socal.res.rr.com) |
| 2021-07-23 19:01:44 | Lycurgus | pities a wage slave |
| 2021-07-23 19:02:26 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 2021-07-23 19:02:26 | → | dsf_ joins (~dsf@cpe-66-75-56-205.san.res.rr.com) |
| 2021-07-23 19:02:26 | × | dsf quits (~dsf@cpe-66-75-56-205.san.res.rr.com) (Ping timeout: 252 seconds) |
| 2021-07-23 19:02:37 | × | ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 2021-07-23 19:03:22 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 2021-07-23 19:04:54 | → | tput joins (~tim@S0106a84e3fe54613.ed.shawcable.net) |
| 2021-07-23 19:06:46 | → | chris_ joins (~chris@81.96.113.213) |
| 2021-07-23 19:06:47 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 245 seconds) |
| 2021-07-23 19:07:12 | → | favonia joins (~favonia@user/favonia) |
| 2021-07-23 19:11:47 | × | Bayes quits (~Bayes@user/bayes) (Ping timeout: 245 seconds) |
| 2021-07-23 19:15:32 | × | norias quits (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Remote host closed the connection) |
| 2021-07-23 19:15:32 | × | dextaa quits (~DV@aftr-37-201-214-197.unity-media.net) (Read error: Connection reset by peer) |
| 2021-07-23 19:15:32 | → | dextaa7 joins (~DV@aftr-37-201-214-197.unity-media.net) |
| 2021-07-23 19:15:32 | → | norias joins (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) |
| 2021-07-23 19:15:48 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 272 seconds) |
| 2021-07-23 19:16:13 | → | favonia joins (~favonia@user/favonia) |
| 2021-07-23 19:20:13 | × | Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
| 2021-07-23 19:20:18 | × | xff0x_ quits (~xff0x@2001:1a81:5383:d200:bac2:bd91:37ec:a1e3) (Ping timeout: 240 seconds) |
| 2021-07-23 19:20:34 | × | ubert quits (~Thunderbi@77.119.196.49.wireless.dyn.drei.com) (Ping timeout: 240 seconds) |
| 2021-07-23 19:20:34 | ub | is now known as ubert |
| 2021-07-23 19:21:16 | → | xff0x_ joins (~xff0x@2001:1a81:5383:d200:4cd0:4864:f48c:7375) |
| 2021-07-23 19:23:34 | × | chris_ quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 2021-07-23 19:24:56 | × | stefan-_ quits (~cri@42dots.de) (Ping timeout: 255 seconds) |
| 2021-07-23 19:25:17 | × | curiousgay quits (~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 252 seconds) |
| 2021-07-23 19:28:25 | → | chris_ joins (~chris@81.96.113.213) |
| 2021-07-23 19:28:31 | × | dunkeln quits (~dunkeln@94.129.69.87) (Ping timeout: 250 seconds) |
| 2021-07-23 19:28:43 | → | stefan-_ joins (~cri@42dots.de) |
| 2021-07-23 19:29:06 | <arkanoid> | is Char a byte? Is "FOO" 24 bytes long? |
| 2021-07-23 19:30:40 | <swistak> | do you mean 24 bits? |
| 2021-07-23 19:30:47 | <arkanoid> | yeah, sorry |
| 2021-07-23 19:31:05 | <monochrom> | Char is not a byte. "FOO" is 24*(length "FOO") bytes. |
| 2021-07-23 19:31:13 | <ixlun> | Hi all, I'm trying to use ghc 8.10.5 on arm64 darwin and I keep getting errors from clang that it can't assemble the file. Interestingly, it's trying to assemble X86 code. I don't unserstand why it's not generating arm64 code. Any ideas? |
| 2021-07-23 19:31:54 | <monochrom> | Or let's be more candid. 'F' : ('O' : ('O' : []) has three (:) nodes, each note is 24 bytes. |
| 2021-07-23 19:32:42 | × | chris_ quits (~chris@81.96.113.213) (Ping timeout: 240 seconds) |
| 2021-07-23 19:32:57 | → | curiousgay joins (~curiousga@77-120-186-48.kha.volia.net) |
| 2021-07-23 19:33:18 | <arkanoid> | monochrom: ok, but if each node is 24 bytes, how many of these bytes are for the value (Char) and which for the linked list? |
| 2021-07-23 19:33:38 | <monochrom> | All 3*24 bytes are for the linked list. |
| 2021-07-23 19:33:47 | <davean> | monochrom: uh, I think you have you "FOO" calculations wrong. Theres pointers, etc |
| 2021-07-23 19:34:00 | <monochrom> | GHC provides a flyweight table for the individual Chars, so no extra cost. |
| 2021-07-23 19:34:06 | <davean> | oh, you said bytes, not bits |
| 2021-07-23 19:34:39 | <monochrom> | well, for the ascii ones or a small subset, but it covers 'F" and 'O'. |
| 2021-07-23 19:35:18 | <monochrom> | But if you're interested in the cost of that flyweight table, it's 8 bytes per Char. |
| 2021-07-23 19:35:32 | → | zebrag joins (~chris@user/zebrag) |
| 2021-07-23 19:35:50 | <monochrom> | or rather if a character is not in the table and must be made at run time. |
| 2021-07-23 19:36:25 | × | oxide quits (~lambda@user/oxide) (Ping timeout: 258 seconds) |
| 2021-07-23 19:37:09 | → | arthurxavierx joins (~arthurxav@201.17.157.69) |
| 2021-07-23 19:37:14 | <arkanoid> | ah ok, so a String is a linked list of Char that are pointers to a flyweight table of 1 Byte Unicode characters or possibly a runtime multibyte Unicode rune |
| 2021-07-23 19:37:26 | <monochrom> | 8 byte |
| 2021-07-23 19:37:31 | <monochrom> | I.e., s/1/8/ |
| 2021-07-23 19:37:58 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-07-23 19:38:24 | → | oxide joins (~lambda@user/oxide) |
| 2021-07-23 19:38:50 | <arkanoid> | 8 Bytes for each character? There unicode runes are 143859 |
| 2021-07-23 19:39:06 | × | alx741 quits (~alx741@186.178.108.210) (Ping timeout: 240 seconds) |
| 2021-07-23 19:39:40 | → | burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk) |
| 2021-07-23 19:39:41 | <monochrom> | Welcome to lazy evaluation, which necessitates more bytes for marking "I am a value" vs "I am a piece of code, run me!" |
| 2021-07-23 19:39:53 | × | arthurxavierx quits (~arthurxav@201.17.157.69) (Remote host closed the connection) |
| 2021-07-23 19:40:00 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-23 19:40:08 | <arkanoid> | :D now it makes sense. I was missing that point |
| 2021-07-23 19:40:10 | <arkanoid> | thanks a lot |
| 2021-07-23 19:40:52 | → | arthurxavierx joins (~arthurxav@201.17.157.69) |
| 2021-07-23 19:41:06 | <monochrom> | In fact welcome to the STG machine, which nicely unifies those two cases by "if it takes k bytes to store a code pointer, let's also use the same 8 bytes space to say I'm a value". |
| 2021-07-23 19:41:07 | → | __monty__ joins (~toonn@user/toonn) |
| 2021-07-23 19:41:24 | × | burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-07-23 19:41:32 | × | Guest81 quits (~Guest81@2804:431:c7c1:12be:dc7f:2993:1218:94ce) (Quit: Client closed) |
| 2021-07-23 19:41:37 | → | burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk) |
| 2021-07-23 19:42:38 | <monochrom> | And I still made a mistake. Char is 16 bytes. 8 bytes for "I am a value, not a code pointer, but I use the same 8 bytes anyway", followed by 8 bytes for the actual value. |
| 2021-07-23 19:42:54 | <monochrom> | Unicode doesn't need 8 bytes but alignment does. |
| 2021-07-23 19:43:22 | × | arthurxavierx quits (~arthurxav@201.17.157.69) (Remote host closed the connection) |
| 2021-07-23 19:43:41 | <arkanoid> | I need to read about STG now, actually I know nothing about how haskell managed lazyness |
| 2021-07-23 19:43:47 | <platz> | Is all that talk about "initial" and "final" encodings really just mean data constructors vs typeclasses, or is there value in using the former terms beyond that |
| 2021-07-23 19:43:58 | <monochrom> | This is the weight of the simplistic code "data Char = C# Char#" |
| 2021-07-23 19:44:28 | <arkanoid> | STG = "spineless, tagless, G-machine", really? :D |
| 2021-07-23 19:44:40 | <monochrom> | yes |
| 2021-07-23 19:44:54 | <monochrom> | G for graph but meh |
| 2021-07-23 19:44:54 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-23 19:45:02 | <Rembane> | platz: I would use the initial encodings and final encodings names because they carry more information. |
| 2021-07-23 19:45:15 | <Rembane> | platz: And if you google them you find at least one only slightly confusing paper. :) |
| 2021-07-23 19:45:54 | <platz> | Rembane: well that's the issue, the terms seem to confuse more than what they actually signify in haskell code |
| 2021-07-23 19:47:33 | <Rembane> | platz: What main sources of confusion have you encountered so far? |
| 2021-07-23 19:47:35 | <platz> | "tagless" seems like historical baggage. |
| 2021-07-23 19:47:53 | <platz> | the term i mean |
| 2021-07-23 19:48:40 | → | aegon joins (~mike@174.127.249.180) |
| 2021-07-23 19:48:46 | → | lavaman joins (~lavaman@98.38.249.169) |
| 2021-07-23 19:49:22 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 272 seconds) |
| 2021-07-23 19:50:06 | <arkanoid> | what's the general use of haskell in real-world? Is it used more as a standalone system or to build system libraries to be called by FFI? I mean, when a large imperative program requires refactor to get back some control over complexity, is porting pure logic to haskell and calling back it from original project a viable (I mean applied in production) solution? |
| 2021-07-23 19:50:11 | × | thmprover quits (~user@047-042-215-236.res.spectrum.com) (Quit: And Let's Away, to Part the Glories of This Happy Day) |
| 2021-07-23 19:50:36 | → | arthurxavierx joins (~arthurxav@201.17.157.69) |
| 2021-07-23 19:50:50 | → | favonia joins (~favonia@user/favonia) |
| 2021-07-23 19:51:13 | <monochrom> | standalone system |
All times are in UTC.