[00:39:33] * jtimon [jtimon!~quassel@c-73-189-35-88.hsd1.ca.comcast.net] has joined the channel. [00:50:45] Would it be too surprising/magical to automatically treat certain types of arrays as SIMD vectors? [00:51:53] no [00:52:21] why do you think it would be? [00:52:40] p.s. I fixed the floating point ops PR [00:52:41] Someone might not expect their regular old Float32^4 to be aligned to 16 bytes [00:53:03] SIMD is pretty standard [00:53:12] it doesn't need to be 16 byte aligned [00:53:19] you can handle the parts outside of alignment [00:53:38] Or that "a as (Float32^4) + b as (Float32^4)" works and compiles to an addpd [00:54:04] It doesn't need to be, but I'd like to prefer emitting the aligned instructions [00:54:43] yeah I reckon for adding two vectors you kinda need the alignment I suppose [00:54:48] Er, addps, not addpd [00:54:54] I say go for it, align the hell out of them [00:55:05] memory is cheap and all that [00:55:42] you should probably be aligning for the largest AVX instruction [00:55:50] I think that does 8 floats [00:55:56] Yeah, I suppose so, and the stack will tend to be aligned on x86-64 anyway for calling convention purposes [00:56:25] Eh, it depends on the type, but yeah [00:56:51] yeah 16 32-bit floats or whatever [00:57:09] Hm, this'll require specialisation of metadata blocks [00:57:47] That is, adding metadata to Float64^2 (SSE) and maybe Float64^4 (AVX), but not all Float64^N [00:58:02] Should be straightforward [00:58:24] ...should :P [01:00:06] I have a feeling I'm only thinking about this to avoid working on other, less-fun stuff [01:01:32] I love doing git push -f [01:02:06] somehow it seems like it shouldn't be something you'd have to use so commonly [01:02:40] evincar: do the generic instances of traits thing [01:02:58] It's because branch pointers are mutable [01:03:28] Yeah, I know, that's probably what I need to tackle next [01:04:03] oh and that bug I found [01:04:10] probably related [01:04:55] it was pretty bad using completely the wrong type for the trait [01:05:00] Yes, they are related [01:05:25] I just need to change the resolution to use the most specific matching type [01:12:22] btw why do you say even and odd requires casting [01:12:50] you can implement it in terms of polymorphic zero and one [01:13:16] (% (one + one)) (= zero) [01:13:46] Huh, I guess so [01:13:47] although that might fall down the old generic instances of traits trap [01:14:09] but yeah one is the identity for multiplication so you definitely want it along with zero for additive identity [01:20:16] Yup, I think I want an additive monoid with + and zero, an abelian group with neg, a multiplicative monoid with * and one, and for these together to form a ring [01:20:30] And probably some compiler flag to allow this unsafely for floating-point numbers :P [01:27:14] evincar I've fixed my last remaining pull request to remove all the copy-pasta except once for strings [01:28:28] damned markdown eating my <> [01:31:49] there's another PR I want to make before my big PR with all the prelude stuff, but I haven't started it [01:32:11] basically I want chr, ord and escape sequences in strings [01:32:24] and I want the regular ones not the haskell style ones [01:32:43] i.e. \x12 \u1234 \U12345678 [01:33:45] you can still have the \& to shorten them though so "\U12345\&ABC" [01:34:09] I think chr and ord should be for Int32 only [01:35:02] oh and \0 is missing you should have that too [01:37:54] anyway yeah I'd like to have a go at these changes myself but if you can let me know if you're doing it that's ok [02:16:52] * jtimon [jtimon!~quassel@c-73-189-35-88.hsd1.ca.comcast.net] has quit (Remote host closed the connection). [02:37:34] colonelj: If you want it, you can go for it, otherwise I'll get around to it eventually [02:38:26] I'm not too keen on writing code in UTF8 still [02:38:48] well it's mainly weird stuff like ANSI colours I suppose which are a problem [02:39:10] I want to colour in my chessboard when I make the chess game in Kitten [02:39:46] Yeah, makes sense [02:40:16] It's fine to include "special" characters when they're user-facing strings, but control codes are better as escapes [02:40:34] yeah so the actual chess pieces are fine [02:40:46] although they tend to look a bit too small [02:41:25] and they don't really work unless it's against a light background :P [02:42:08] the fonts are designed to be printed on white really [02:42:19] but I always have my terminals in black [03:21:52] * evincar [evincar!~jonathanp@75-142-42-181.dhcp.reno.nv.charter.com] has quit (Ping timeout: 240 seconds). [03:56:10] * lonjil [lonjil!~quassel@2a02:418:6050:ed15:ed15:ed15:e741:32d6] has quit (Read error: Connection reset by peer). [03:56:17] * lonjil [lonjil!~quassel@2a02:418:6050:ed15:ed15:ed15:e741:32d6] has joined the channel. [04:10:57] * evincar [evincar!~jonathanp@75-142-42-181.dhcp.reno.nv.charter.com] has joined the channel. [04:23:07] * evincar [evincar!~jonathanp@75-142-42-181.dhcp.reno.nv.charter.com] has quit (Ping timeout: 255 seconds). [05:15:20] * MDude [MDude!~MDude@pa-67-234-94-147.dhcp.embarqhsd.net] has quit (Ping timeout: 260 seconds). [05:58:32] * FreeFull [FreeFull!~freefull@defocus/sausage-lover] has quit. [06:41:20] * evincar [evincar!~jon@75-142-42-181.dhcp.reno.nv.charter.com] has joined the channel. [07:22:14] * jtimon [jtimon!~quassel@50-240-212-81-static.hfc.comcastbusiness.net] has joined the channel. [07:27:52] * jtimon [jtimon!~quassel@50-240-212-81-static.hfc.comcastbusiness.net] has quit (Ping timeout: 240 seconds). [07:33:11] * jtimon [jtimon!~quassel@50-240-212-81-static.hfc.comcastbusiness.net] has joined the channel. [08:00:58] * jtimon [jtimon!~quassel@50-240-212-81-static.hfc.comcastbusiness.net] has quit (Ping timeout: 268 seconds). [08:05:26] * jtimon [jtimon!~quassel@50-240-212-81-static.hfc.comcastbusiness.net] has joined the channel. [08:21:03] * jamtho [jamtho!~jamtho@host217-42-113-20.range217-42.btcentralplus.com] has joined the channel. [08:23:57] * jtimon [jtimon!~quassel@50-240-212-81-static.hfc.comcastbusiness.net] has quit (Ping timeout: 260 seconds). [08:38:31] * jamtho [jamtho!~jamtho@host217-42-113-20.range217-42.btcentralplus.com] has quit (Ping timeout: 258 seconds). [08:55:05] * jtimon [jtimon!~quassel@50-240-212-81-static.hfc.comcastbusiness.net] has joined the channel.