Newest at the top
| 2025-11-21 04:30:21 +0100 | <EvanR> | with curry |
| 2025-11-21 04:30:14 +0100 | <EvanR> | the certain good applications that exist for single precision are sad |
| 2025-11-21 04:29:41 +0100 | <EvanR> | *nor |
| 2025-11-21 04:29:35 +0100 | <EvanR> | or Fin n |
| 2025-11-21 04:29:21 +0100 | <EvanR> | not to be confused with modular integers |
| 2025-11-21 04:29:12 +0100 | <monochrom> | Also, Float is already double-precision, it is the only floating point type. |
| 2025-11-21 04:29:10 +0100 | <EvanR> | bounded integer is a contradiction extraordinaire |
| 2025-11-21 04:27:20 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-21 04:26:39 +0100 | <monochrom> | Fun fact: Curry has Int, it already means multi-precision. There is no bounded integer type in Curry. :) |
| 2025-11-21 04:26:06 +0100 | <fgarcia> | gah why is it so hard to install steam |
| 2025-11-21 04:25:35 +0100 | <monochrom> | You have to say: sudo delete cosmic and make me a sandwich :) |
| 2025-11-21 04:25:15 +0100 | <monochrom> | "permission denied" |
| 2025-11-21 04:24:34 +0100 | <fgarcia> | Do as I say. delete cosmic! |
| 2025-11-21 04:23:23 +0100 | <monochrom> | Yes default Integer. |
| 2025-11-21 04:23:13 +0100 | <monochrom> | Without type signature, everything resolves to Integer. And monomorphized. (I checked the Core code.) |
| 2025-11-21 04:23:05 +0100 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
| 2025-11-21 04:22:48 +0100 | <sam113101> | I did use Int, not sure if the compiler defaulted to Integer? |
| 2025-11-21 04:22:18 +0100 | <monochrom> | Is that just because you say "Int" not "Integer"? |
| 2025-11-21 04:21:41 +0100 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 264 seconds) |
| 2025-11-21 04:20:58 +0100 | <EvanR> | I delete all my type signatures, dare the compiler to do what I mean, without even my knowing what I mean |
| 2025-11-21 04:20:50 +0100 | <sam113101> | wow it really did |
| 2025-11-21 04:20:46 +0100 | <sam113101> | Executed in 1.36 secs |
| 2025-11-21 04:20:44 +0100 | Googulator96 | (~Googulato@2a01-036d-0106-0231-4475-80b4-5cdc-43d6.pool6.digikabel.hu) |
| 2025-11-21 04:20:44 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
| 2025-11-21 04:20:39 +0100 | Googulator87 | (~Googulato@2a01-036d-0106-0231-4475-80b4-5cdc-43d6.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-11-21 04:20:06 +0100 | chromoblob | (~chromoblo@user/chromob1ot1c) (Ping timeout: 265 seconds) |
| 2025-11-21 04:19:38 +0100 | fgarcia | hides code without signatures |
| 2025-11-21 04:18:40 +0100 | <Leary> | (the compiler can infer types, but that doesn't mean it can read your mind to infer the type you wanted to use) |
| 2025-11-21 04:17:32 +0100 | <EvanR> | of a linked list |
| 2025-11-21 04:17:24 +0100 | <EvanR> | for lists it will count the elements |
| 2025-11-21 04:17:10 +0100 | <monochrom> | What is Enum.count in Elixir? |
| 2025-11-21 04:17:02 +0100 | <Leary> | sam113101: Next suggestion: write some type signatures. Believe it or not, they make your code faster. |
| 2025-11-21 04:16:01 +0100 | <EvanR> | that was my first suggestion! smh |
| 2025-11-21 04:15:45 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2025-11-21 04:15:31 +0100 | <sam113101> | I got it dows to 6s with -O2 |
| 2025-11-21 04:15:11 +0100 | <monochrom> | Although, I would bet it only causes 2->4 not 2->30. |
| 2025-11-21 04:15:08 +0100 | <EvanR> | it could be worse |
| 2025-11-21 04:14:41 +0100 | <monochrom> | Yikes, core says not evaluated until next time it hits the x==1 test. |
| 2025-11-21 04:12:11 +0100 | <monochrom> | Oh I didn't know that backpack can do that. :) |
| 2025-11-21 04:12:05 +0100 | <EvanR> | and does collatz grow large enough to matter (and leave the small int case of Integer's backend) |
| 2025-11-21 04:11:37 +0100 | <EvanR> | elixir's "int" or whatever it's called is notionally unlimited precision |
| 2025-11-21 04:11:33 +0100 | <fgarcia> | making a collatzChain' with an accumulator might speed things up but i am not sure |
| 2025-11-21 04:10:59 +0100 | <probie> | monochrom: I know this isn't actually what you want, but https://paste.tomsmeding.com/oqM6JwKf |
| 2025-11-21 04:10:30 +0100 | <EvanR> | xs not used, it's not even clear how it could compile that in any other way than "not" |
| 2025-11-21 04:10:00 +0100 | <monochrom> | Is it just because GHC uses multi-precision integers and Elixir uses 32-bit or 64-bit? |
| 2025-11-21 04:09:59 +0100 | <c_wraith> | It's a lot harder to do flow analysis to determine usage patterns across recursive calls |
| 2025-11-21 04:09:30 +0100 | <c_wraith> | It's easy to detect a symbol is bound and not used. |
| 2025-11-21 04:09:16 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-21 04:09:15 +0100 | <c_wraith> | It's worth spending some time learning about things that are easy to detect vs things that are hard to detect. |
| 2025-11-21 04:08:29 +0100 | <fgarcia> | i think ghc might be detecting a lot of things. it would warn me about changing 'collatzChain lst@(x:xs)' to 'collatzChain lst@(x:_)' because xs it not used |