I don't see how this is going to work when every application decides to ship and run a 4GB model, competing for video memory. It's going to be the Electron problem times 10.
I recently saw this with the logseq api - the published api was an auto-generated stub. So I tried to grep the source code for the function and found detailed documentation written for claude. So I guess one benefit of all of this is that it's making people actually document things and maybe plan a little bit before implementing.
Yeah, I think that's what the program creates in your github account. I see the source to those files embedded in the executable. (I'm not running the executable, but I downloaded the linux one to my mac to take a look inside.)
For caveman debugging, if I'm not sitting in a monad, I usually reach for something like Debug.Trace. Typically that's in Idris or my own language, but I see that haskell has it too.
For my own language, I have the syntax highlighting set to put the `trace` keyword in red, so I can easily clean up.
French speaker here. (My native language is English but I learned French in France years ago, and can still speak it with near-native fluency). You're correct. French French (that is, French spoken in France, it's slightly confusing that the language's name and the country's adjective are the same) goes "cinquante, soixante, soixante-dix, quatre-vingts, quatre-vingt-dix, cent". In English, that would be "fifty, sixty, sixty-ten, fourscore, fourscore-ten, a hundred". But Swiss French goes "cinquante, soixante, septante, octante, nonante, cent", which would translate to English as "fifty, sixty, seventy, eighty, ninety, a hundred".
I was bit by this years ago when our test cases failed on Linux, but worked on macos. pdftotext was behaving differently (deciding to merge two lines or not) on the two platforms - both were gcc and intel at the time. When I looked at it in a debugger or tried to log the values, it magically fixed itself.
Eventually I learned about the 80-bit thing and that macos gcc was automatically adding a -ffloat-store to make == more predictable (they use a floats everywhere in the UI library). Since pdftotext was full of == comparisons, I ended up adding a -ffloat-store to the gcc command line and calling it a day.
I know it is out of scope for this article, but there are variants where the operations are monadic rather than applicative and the shape of the graph can change depending on values. And also variations with state - where history can be taken into account.
reply