2023-07-25 00:04:46 KipIngram: Cool! I think you're the first non-APL person I've met who's read that paper. 2023-07-25 00:06:08 Yeah, making it more logical is kind of the goal as I understand it. Though, if there were a good way to just magically make current mathematical notation executable, I think we'd have just gone with that to start. 2023-07-25 00:14:00 Anyway... I also think trying to fit APL into an RPN syntax would cripple a lot of the notational advantages, unfortunately. 2023-07-25 00:15:32 Forth does have a few forward-consuming words, like : and ." and the comments, so adding binary operators shouldn't really be a technical problem. 2023-07-25 00:18:48 Larger picture, though, I'm really curious about what system architecture looks like when 100% grokking the Forth Way. 2023-07-25 00:20:15 Like, writing any OO language tends to get one thinking about how to decompose the problem into classes and object interactions. 2023-07-25 00:20:51 "Thinking Forth" is a book 2023-07-25 00:21:17 Haskell gets one trying to decompose things into algebraically-nice pieces. 2023-07-25 00:22:30 thrig: Yeah, that basically canon, right? I'm just wanting to hear a pithy summary right now. Reading that book is definitely on my List. 2023-07-25 00:24:13 forth tends to be about designing the words right 2023-07-25 00:31:24 how about Joy? 2023-07-25 00:41:04 Hrm... I imagine that staying close to the metal and avoiding towers of abstraction is part of what "designing the words right" looks like internally. Does that sound correct? 2023-07-25 00:52:54 probably there is some thought as how to best design whatever 2023-07-25 00:54:19 FORTH and LISP have great history 2023-07-25 00:55:31 nice to read forth and its space adventures 2023-07-25 00:55:57 lisp and lamba calculus 2023-07-25 07:35:33 xelxebar: No, supporting infix arithmetic is pretty straightforward actually. You create a stack that you can postpone operations with. 2023-07-25 07:36:09 Each operation has a "level," and as you come to operations you either execute them right away or push them onto the operation stack, and somtimes you execute previously pushed ones. 2023-07-25 07:37:24 Early in Forth's history Chuck wrote a book about his thinking. He was younger and more of an "apologist." He went to a good bit of trouble to explain how infix support could be done because he felt not supporting it would be interpreted as a negative for the language. 2023-07-25 07:37:54 Later on in his life he got a lot more "cut and dried" about it. Like, "my way is better - stop wanting the other way." 2023-07-25 07:39:22 Unfortunately, "forward consuming" words in Forth are slow, because they're interpreting the input stream. But, you can compile that operator postpone process too. 2023-07-25 07:40:47 Most standard languages actuall do something like that - it's not uncommon for them to convert infix to postfix one way or another. 2023-07-25 07:40:53 At compile time. 2023-07-25 07:42:16 One interesting thing to notice is that Forth and APL are both "kind of strange," and both were put forth by individuals primarily. 2023-07-25 07:42:52 But APL kind of has a "pedigree" whereas Forth is often almost ignored. Mainstream language folks are at least likely to list APL when making lists of languages. 2023-07-25 07:43:23 I think the difference is that Iverson presented his ideas through the academic process, whereas Chuck was kind of a "grass roots" guy. 2023-07-25 07:43:34 It's a bit of "snobbery" in the industry. 2023-07-25 07:43:43 Iverson had the right paper hanging on the wall. 2023-07-25 07:44:29 And followed the "accepted procedure" that appeals to academia. 2023-07-25 07:47:49 There are different opinions on whether infix is inherently better, worse, or neither 2023-07-25 07:48:15 I'm in the camp of "I think it's inherently better for many things, but not usually necessary" 2023-07-25 08:06:20 Oh yes, there are definitely different opinions. It is telling, though, that infix languages often convert to postfix under the hood. 2023-07-25 08:06:51 We've talked about this before - I think that the strong preference for infix arises primarily from the fact that it's what people learn when they're young. 2023-07-25 08:07:18 I got on the RPN bandwagon when I was still (at least almost) "young," and I've always been incredibly comfortable with it. 2023-07-25 08:07:54 And somewhere along the line I read a paper where a guy showed how postfix could be used in general notation, like for math and science papers and so on. I wish I could find that - I've tried a number of times over the years. 2023-07-25 08:08:47 On top of that, that calculator was the first platform I ever programmed on, so stack machine thinking got into my head "at the ground floor." 2023-07-25 08:10:16 I had no exposure to computers at all as a kid, and didn't do my first programming (FORTRAN) until fall semester my sophomore year in college. 2023-07-25 08:10:29 By then I had a year of HP-41CV programming under my belt. 2023-07-25 08:11:40 Of course I've had to read academic papers that use infix, so I'm fine with it too. But to this day I'm clumsy using infix calculators. 2023-07-25 08:31:24 KipIngram: "It is telling, though, that infix languages often convert to postfix under the hood." I don't really see what this would be telling? 2023-07-25 08:35:55 ops on stack 2023-07-25 08:39:48 Riviera: see the assembly output in compilers 2023-07-25 08:39:57 https://godbolt.org/ 2023-07-25 08:41:20 I interpreted what Riviera said as meaning they're wondering why it's 'telling', not how it works 2023-07-25 08:42:10 Also assembly output is far removed from reverse polish stack work these days 2023-07-25 08:42:47 Riviera: LaTeX? Of what use is it? Isn't it (R)etarded? 2023-07-25 08:44:53 DKordic: You are asking because I am in a LaTeX-channel? 2023-07-25 08:44:58 DKordic: Or because of the question I had here? 2023-07-25 08:45:07 veltas: Correct :) 2023-07-25 08:45:23 KipIngram, veltas: It just dawned on me that ""[ 1 , 2 , ]"" was all it was meant to be: sort of an Array Literal! Perhaps assuming a better variant to be implemented later. 2023-07-25 08:45:39 drakonis: Indeed a misunderstanding, I do know how it works, I just don't see how it's "telling," and what it would be telling. :) 2023-07-25 08:46:43 Riviera: Because You are here. 2023-07-25 08:47:29 DKordic: Nothing you say makes any sense. 2023-07-25 09:29:09 Riviera: I think it's an acknowledgement that in the end RPN "fits algorithmic logic" more gracefully than infix does. 2023-07-25 09:29:44 Less work is required to process a postfix expression. Same arithmetic work, but less "juggling" of things. I think RPN is "closer" to directly executable. 2023-07-25 09:30:45 I think LaTeX is fine. I kind of hate how much memorization it requires. It seems more like a kitchen sink of canned methods than a "language." But it's useful. 2023-07-25 09:31:33 You can make that page look like practically anything using it. But most of the time you can't determine from a simple little list of rules how to do that - you have to look up the specific pathway to get the result you want. 2023-07-25 09:31:56 So I almost don't think of it as a "language" so much as a "library" of invokable functionality. 2023-07-25 09:32:49 And yes, I do understand that Forth is the same. You have to KNow what the words in your dictionary do. But there's a spectrum of complexity here, and Forth is closer to the simple end. 2023-07-25 09:36:30 I felt the same way when I was learning some CSS many years ago. Powerful - in the end you could get your web page to do almost anything you wanted it to. But my gosh, there was a lot to learn. Just a mountain of 'primitive functions' so to speak. 2023-07-25 09:36:52 Like having 10,000 words that weren't particularly well-organized in your Forth dictionary. 2023-07-25 09:41:18 So, I think there are two properties of Forth that make it "easy to learn." First, the "rules" are extremely simple. And second, the native word set is generally tractable enough for an average person to familiarize with it without too much difficulty. 2023-07-25 09:41:34 Complexity could enter in via either front. 2023-07-25 09:51:57 In both of the cases noted above - LaTeX and CSS, I never really "mastered" things. Generally I would just look for examples online of someone having done what I was trying to do, and copied their code. 2023-07-25 09:53:08 runway of summon food from the sky gods 2023-07-25 09:53:21 yeah, kinda sorta. 2023-07-25 09:54:04 I take the same approach to making use of the plethorra of Python packages that are available. I need something, I google, I identify a package, make sure I can import it, and copy code. 2023-07-25 10:01:26 I think the availability of so many package options is part of why I find Python useful. 2023-07-25 13:04:21 KipIngram: There are some nice meta-proofs in logic that convert syntax to PN or RPN and then induct over the sentence length. 2023-07-25 13:06:36 Like, I totally get the nice, crystalline, clean appeal of RPN. My day-to-day calculator is dc, even. 2023-07-25 13:09:30 A part of me also thinks that infix has affordances that RPN and PN can't get at. 2023-07-25 13:12:23 Hrm, (a F b G c H d I e K x) becomes (x e K d I c H b G a F) in RPN, totally reasonable. 2023-07-25 13:14:02 Not sure how to deal nicely with functions that can take either one or two args, though. 2023-07-25 13:19:39 Speaking of LaTeX, I completely agree. Ever since grad school, I stopped using LaTeX in favor of plain TeX. The latter can, indeed, be grokked in full. 2023-07-25 13:20:27 Blah. It's 2:30 am here and I'm slightly delirous. Night, good sirs! 2023-07-25 14:35:48 Yes, that unary vs. binary thing is a rub in Forth. Forth expects a word to do the same thing every time it's called, and there are just exceptions to that in arithmetic. 2023-07-25 14:35:57 Which APL heavily exploits. 2023-07-25 14:36:23 KipIngram: i don't think that what's good for computers (lower level representation) is necessarily or even likely good for humans. 2023-07-25 14:36:44 I think humans can learn very flexibly. 2023-07-25 14:36:51 KipIngram: and "algorithmic logic" would be math, and that does not care much about its representation at all. 2023-07-25 14:36:55 I think humans get good at what they learn, generally regardless. 2023-07-25 14:37:01 well, don't just "think" 2023-07-25 14:37:07 but provide reasoning and arguments. 2023-07-25 14:37:16 I don't have them on tap. 2023-07-25 14:37:27 humans, for example, have language, and quite elaborate grammar, syntax, strucutre. 2023-07-25 14:37:37 I'd have to ponder it. But surely you don't disagree with that as a fundamental notion. 2023-07-25 14:37:40 those aren't good for computers, at least not how they're typically implemented, 2023-07-25 14:37:48 Our minds are pretty amazing and adaptable. 2023-07-25 14:38:03 to have humans use only these simple features that are useful for computers would waste lots of what humans are optimised for. 2023-07-25 14:38:03 Say, take language. 2023-07-25 14:38:27 but okay, i now know what you meant, sufficient for me. :) 2023-07-25 14:38:42 A person who grows up speaking French is really good at French. English English, German German. Very different languages, but the person probably regards the language they learned as a child as "the best" and certianly the easiest. 2023-07-25 14:39:27 I don't feel like having a big argument over, though. We don't have to agree about it. 2023-07-25 14:41:13 horse floggers! get your horse floggers! discount for first time buyers! 2023-07-25 20:38:45 Ok, I'm getting my head around this little board somewhat better now. Apparently you can program it's flash by powering it up with a button held down - it will present to the computer as storage device, and you just drop a binary onto that "drive" and it programs the device using that file. 2023-07-25 20:38:55 That's pretty sweet and straightforward. 2023-07-25 20:43:00 must have stolen the idea from the pico :P 2023-07-25 20:43:07 jk. stm had that before pico 2023-07-25 20:43:29 bbc:micro too iirc 2023-07-25 20:56:32 but selling a $2999 dev kit makes the CEO feel pretty sweet 2023-07-25 22:59:44 Oh, it's pico related. I don't know enough about it to know how tightly connected.