2022-04-11 09:01:48 Interesting - here's something that Python says:
2022-04-11 09:01:52 >>> ((2.0e-30 + 1.0e30) - 1.0e30) - 1.0e-30
2022-04-11 09:01:54 -1e-30
2022-04-11 09:02:16 It's wrong. Consequence of loss of low significance bits.
2022-04-11 09:03:05 The 2e-30 just gets washed right out.
2022-04-11 09:03:42 my favorite is 0.1+0.2
2022-04-11 09:03:48 BCD ftw
2022-04-11 09:08:54 Heh. That is fun. It's a far less severe error, though.
2022-04-11 09:09:14 There are actually good reasons to prefer binary, but yeah - I hear ya.
2022-04-11 09:10:56 The example I used to point out the general issue of radix to my kids was to have them note that 1/7 is a six-digit repeating decimal, but in base 7 it's 0.1.
2022-04-11 09:11:14 I.e., the behaviors change - what requires infinite digits and what doesn't.
2022-04-11 09:12:12 Doing proper arithmetic on long repeating decimals is a pain in the ass - you can't "start at the right and work left" nicely, because there is no starting point on the right.
2022-04-11 09:12:36 So you have work from left to right, and that means constantly backing up and revising prior results.
2022-04-11 09:13:24 There's a neat trick you can play based on a little relation Euler proved that you can use. I'm not sure I should undertake trying to describe it - it's kind of involved.
2022-04-11 09:13:42 Uses something the math prof I saw teach it called "reversimals."
2022-04-11 09:15:15 I guess I can summarize. You know that in math it's a "fact" that 0.999999... (9's forever) is actually precisely equal to 1.0.
2022-04-11 09:16:21 Well, Euler "proved" (I use quotes because this is one of those snarly tricky things that make you want to cry) that ...PPPP.PPPP... where P is any repeating pattern of digits - and note that that's repeating forever in both directions - is ZERO.
2022-04-11 09:16:34 Put that one in your pipe and smoke it.
2022-04-11 09:17:09 Makes no sense, but he had a "proof" for it. Infinites are BIZARRE.
2022-04-11 09:18:06 But anyway, you can exploit that to convert repeating decimal numbers into equivalent "reversimals." Then you can do ordinary arithmetic on those, and you get to start at the right, and just go left until you find a repeating pattern. No backing up and rubbing out prior results.
2022-04-11 09:18:27 Then when you're done you convert that answer BACK to an ordinary proper number, and it will be the RIGHT number.
2022-04-11 09:19:00 What Euler actually proved was that
2022-04-11 09:19:27 ... +x^3 + x^2 + x + 1 + x^-1 + x^-2 + ...
2022-04-11 09:19:35 is equal to zero.
2022-04-11 09:20:12 Summation(x^n) for n -infinity to infinity.
2022-04-11 09:21:27 The proof is that you call that series A. Then note that A*x is effectively the same series. So A = A*x for all x, and that requires that A be zero.
2022-04-11 09:22:30 Seems crazy and broken, but you CAN exploit it in the way I described, and it DOES give the right answer. :-)
2022-04-11 09:23:28 Basically, say you have 0.dddd... where di is any pattern.
2022-04-11 09:23:40 Form ...ppp.ppp ...
2022-04-11 09:23:53 subtract 0.pppp... from that, and you're left with ...ppp.0
2022-04-11 09:24:40 Do your arithmetic on those. Then use the same idea to come back.
2022-04-11 09:25:03 The trip to "reversimal land" gives you something that does NOT repeat forever to the right, so you have a starting point for proper arithmetic.
2022-04-11 09:25:33 So ...ppp.0 is equal to negative 0.ppp...
2022-04-11 09:27:47 So I picked that up from a sort of fringy math prof online named Norman Wildberger. He's a controversial guy - he proclaims that modern math is "in the weeds" insofar as how it has built the theory of real numbers. He somewhat doesn't consider irrational numbers to be properly valid numbers, and advocates working only with rational numbers.
2022-04-11 09:28:08 From a practical perspective he has a point - we can't actually write down or represent in computer storage an irrational number.
2022-04-11 09:28:22 He contends that our theory should be built around things we can actually DO.
2022-04-11 09:29:03 i wonder what fraction this guy uses for pi
2022-04-11 09:29:09 Consider the equation x^3 + y^3 = 1.
2022-04-11 09:29:36 x=1, y=0 and x=0, y=1 are solutions - points on that curve.
2022-04-11 09:29:53 But NO OTHER POINT on that curve can be written down exactly using rational numbers.
2022-04-11 09:30:24 So if someone gives you a supercomputer and asks you to find a million points on that curve, you technically can't do it.
2022-04-11 09:30:29 You can't even find three.
2022-04-11 09:30:55 meh, sounds like he's being difficult on purpose
2022-04-11 09:31:00 He would say that the problem SHOULD be "find a million points that lie within disstance epsilon of that curve."
2022-04-11 09:31:20 like the people who use ompcuters havent figured out yet that they are using approximations but he has
2022-04-11 09:31:28 Yeah, like I said, he's controversial, and you're right - it HAS allowed him to attract a lot more attention that he likely otherwise would.
2022-04-11 09:31:40 i dont think that's any different. sounds like language lawyering to me
2022-04-11 09:32:09 Right. He does note that engineers and other "practicing people" don't have any problem - that everything actually works fine for us.
2022-04-11 09:32:21 He just grouses about it from a "pure math" perspective.
2022-04-11 09:32:56 i should remember this guy's example. i gripe a lot about people who know what other people mean but pretend they dont because there's something in it for them to misinterpret the other person
2022-04-11 09:33:09 I do think there's a class of people out on the net that have just found themselves a way to attract noteriety and they're milking it.
2022-04-11 09:33:24 I think that's the main reason Musk said "we're probably living in a simulation."
2022-04-11 09:33:37 He knew that was an audacious claim that would get attention.
2022-04-11 09:34:03 And these guys LIKE attention.
2022-04-11 09:35:09 That said, Wildberger does have a few tricks up his sleeve that I felt would likely be useful, that I hadn't previously see anywhere.
2022-04-11 09:35:23 He approaches things in a different way, and a few tidbits of that are kind of slick.
2022-04-11 09:37:20 But... the diagonal of a unit square DOES have a length. There it is, right in front of you, and the fact we can't write it down exactly doesn't change that.
2022-04-11 09:39:04 this sounds as dumb as the people who misuse philosophy
2022-04-11 09:39:29 :-) I do actutally agree with you.
2022-04-11 09:39:58 like I read once that the search for truth is based on testing hypotheses but testing them reveals many more hypotheses you didn't know about so the search for truth actually brings you farther away from it
2022-04-11 09:40:00 I think he has some points that can't really be denied, but I also think "it doesn't really matter."
2022-04-11 09:40:07 It's much ado about nothing for the most part.
2022-04-11 09:40:38 Nit picking.
2022-04-11 09:41:40 Oh that's an interesting one.
2022-04-11 09:42:06 I guess I'd say if we answer a question then we know more than we knew before, and that's progress.
2022-04-11 09:43:43 If it unearths new questions we hadn't thought of previously, then we "know more about what we don't know," and that's actually progress too.
2022-04-11 09:46:51 it's just an example to me of how you can string grammatically correct sentences together to explain something that doesnt have anything to do with anything
2022-04-11 09:50:11 Yeah.
2022-04-11 09:54:54 So, I noodled around a little late last night on APL. Some of its mechanics look a little interesting. Talking to an APL system does look like it's "terse" - really low "noise level."
2022-04-11 09:56:59 there's an interpreter from Dyalog online with clickable keyboard in case you havent seen it
2022-04-11 09:58:25 No, haven't. May go try it out a little. See if there are any interaction ideas I want to steal. :-)
2022-04-11 10:12:11 hehe
2022-04-11 10:12:38 there is also a project called CoSy which you might have seen where the guy combines forth and apl somehow. he has given several presentations on svfig
2022-04-11 10:28:58 Oh, excellent - that sounds precisely like the kind of thinking I'm after.
2022-04-11 11:26:46 norman wildberge sounds interesting
2022-04-11 11:28:54 Oh, he is definitely interesting.
2022-04-11 11:29:22 And as I said, I think there is some value in his teaching, even if he's kind of beyond the envelope philosophically.
2022-04-11 11:29:39 He did a really nice "history of math" series that you can find on YouTube.
2022-04-11 11:30:03 Here in there in those you get doses of his "ideas," but for the most part it's... math history.
2022-04-11 11:30:20 Here *and* there
2022-04-11 11:30:43 I kind of learned to "listen around" the fringe bits.
2022-04-11 11:31:26 https://www.youtube.com/playlist?list=PL55C7C83781CF4316
2022-04-11 11:32:01 YouTube is pretty interesting - you run across some people that just never would have come to notice a few decades ago.
2022-04-11 11:32:47 Re: APL, here's a classic paper that won a Turing Award:
2022-04-11 11:32:50 https://www.eecg.utoronto.ca/~jzhu/csc326/readings/iverson.pdf
2022-04-11 11:33:36 The theme there is combining the "thought power" of mathematical notation with the universality and "executability" of programming languages.
2022-04-11 11:33:50 I guess those are the "mom and pop" ideas of APL.
2022-04-11 11:34:54 Given my penchant for terse / symbolic names, I rather like the notion of "compressing a lot of thought" into a small bit of notation.
2022-04-11 11:35:11 It really does "help you think" when you corral powerful ideas into compact notation.
2022-04-11 15:36:26 This Iverson paper is pretty good - I like how he's rooting the discussion nicely in basic number theory.
2022-04-11 15:36:40 Supplies an effective "why" to what he's doing.
2022-04-11 16:12:47 hi, I'm playing around with Mecrisp forth, and wanted to look into what options might be available for going beyond the default Forth namespace management
2022-04-11 16:12:54 like a module namespace system
2022-04-11 16:17:06 I found this page: https://wiki.forth-ev.de/doku.php/projects:forth-namespaces:start. But unfortunately my German is limited to what I learned watching Hogan's Heros
2022-04-11 16:31:01 with more research, I think Mecrisp already has something for this
2022-04-11 17:07:13 But... Hogan's Heros was *awesome*!
2022-04-11 17:07:59 Read your docs and learn what sort of native vocabulary support your system offers, and precisely how it works. They're not all the same; that bit evolved over the years.
2022-04-11 17:08:16 You might find it to be something you could build off of. Or... not.
2022-04-11 17:09:36 APL as used sadly doesnt fit the 'notation of thought' idea
2022-04-11 17:10:00 Oh. Well, crap. I was giving it the benefit of the doubt so far.
2022-04-11 17:10:10 But I'm only a couple of pages into the paper.
2022-04-11 17:10:45 areay languages yes
2022-04-11 17:10:50 and you could use APL for it
2022-04-11 17:11:04 but the only production APL i can find is imperative
2022-04-11 17:11:15 whereas other array languages in production arent
2022-04-11 17:11:17 https://github.com/Dyalog/vecdb/blob/master/vecdb.dyalog
2022-04-11 17:12:19 dyalog is the only used APL implementation
2022-04-11 17:12:32 it is sadly... subpar
2022-04-11 17:12:37 it has a lot of legacy quirka
2022-04-11 17:12:40 quirks*
2022-04-11 17:12:43 and a lot of oddities
2022-04-11 17:15:50 like, there's an operator in APL called 'each'
2022-04-11 17:16:26 which runs a function on each element of an array (yes, this is implicit already - it's used for nested lists)
2022-04-11 17:37:34 I've barely scratched the surface. So far there does seem to be a nice connection between the stuff he's introducing and the first few bits of number theory.
2022-04-11 17:38:03 The symbols chosen seem entirely arbitrary (well, mostly, at least). But I suppose one would "just learn" that.
2022-04-11 17:56:18 KipIngram: Mecrisp has some system called "VIZ" which I think is based on wordlists
2022-04-11 17:57:09 which is available as a separate forth source code file you can optionally compile
2022-04-11 17:57:37 so I'm trying to learn that but am getting a crash when I try to compile it onto my target
2022-04-11 17:58:20 so am checking with the mecrisp folks about that
2022-04-11 17:59:33 over in #mecrisp
2022-04-11 18:36:03 I'm not familiar with such a word.
2022-04-11 18:36:14 It's not one that pops up all over Forth.
2022-04-11 18:36:50 But it's Latin meaning fits with it having something to do with word lists, at least vaguely.
2022-04-11 19:14:19 Whew... this is just a really "different" nomenclature, from everything I've ever looked at before.
2022-04-11 23:24:55 Ok. I think APL is worthwhile. But, I don't think it's possible to fully appreciate that without having wandered about math a fair bit. Most of it is intimately connected to some part of math, but has "made things more rigorous."
2022-04-11 23:25:45 for example, it's common in math literature to omit any typographic indication of multiplication - "multiply" is just implied by adjacency. Similarly, superscripts imply exponents, etc.
2022-04-11 23:26:05 In APL there has to be a "flat line symbol" for all of those things - leaving them out isn't allowed.
2022-04-11 23:26:33 And there ARE symbols for a whole bunch of stuff - that's why the language winds up with so many odd symbols.
2022-04-11 23:26:50 They all mean something specific, and that would just have to be learned.
2022-04-11 23:27:20 But once you knew it, it becomes more a "way of working with math" that you can run on your computer than "just another language."