00:00:00 --- log: started forth/16.06.02 02:09:18 --- quit: mnemnion (Remote host closed the connection) 02:11:59 --- join: true-grue (~true-grue@176.14.216.104) joined #forth 02:14:19 --- join: real-grue (~true-grue@176.14.216.104) joined #forth 02:17:06 --- quit: true-grue (Ping timeout: 250 seconds) 02:36:53 --- quit: nighty (Quit: Disappears in a puff of smoke) 03:26:05 are there any CAD using forth or forth like language as its embeding lang just like autoCAD use lisp 03:26:16 i mean general CAD software not OKCAD 04:16:03 --- join: nighty (~nighty@s229123.ppp.asahi-net.or.jp) joined #forth 04:22:43 --- quit: proteusguy (Ping timeout: 258 seconds) 04:47:20 --- join: Zevv (ico@pruts.nl) joined #forth 04:47:34 yes, how could there not be a #forth channel, great! 04:48:54 after meeting Forth for a few times over the last decades I finally started to implement my own version; probably the best way to get proper understanding of the inner workings. I have some problems with the semantics for implementing the tick, though 04:49:29 the definition of the ' is that it should place the excution token of the following word on the stack 04:50:09 I need two paths in the implementation though: one when running compiled code and one running interactive 04:50:37 the problem with my implementation at this moment is that is not possible to get a reference to a word that has not yet been defined 04:50:54 and afaik there is no such things as prototypes in Forth 04:51:19 Zevv: AFAIK `defer' is for forward references. 04:51:30 ah, let me look into that 04:51:50 Which Threaded Code are You using? 04:52:01 there is no such thing in Brodies book or in the jonesforth I'm learing from 04:52:16 Which Forth implementation are You bootstrapping from? 04:52:23 none, just some C 04:53:14 i need a small implementation (<4k ROM) with support for floats, making it myself seemed like a good idea. Mostly functional, but missing some details 04:53:50 ah gforht manual has a nice explanation of deferred words 04:53:53 thank you 05:16:04 --- join: proteusguy (~proteusgu@183.88.79.72) joined #forth 05:16:04 --- mode: ChanServ set +v proteusguy 05:22:33 --- quit: nighty (Quit: Disappears in a puff of smoke) 06:04:51 another question: if an error/abort occures during compilation, the new word is already in memory and the 'latest' pointer adjusted accordingly, leaving the dictionary in a corrupt state. What is the typical way to handle this? 06:08:02 --- quit: proteusguy (Ping timeout: 264 seconds) 06:50:10 you could have a check in your abort for if state is 1, if so, roll back here and latest and such 06:51:30 --- join: proteusguy (~proteusgu@node-3om.pool-101-108.dynamic.totbb.net) joined #forth 06:51:30 --- mode: ChanServ set +v proteusguy 07:42:24 Zevv: typical Forth way to handle it is to declare it a non-problem. 08:02:23 --- join: nighty (~nighty@s229123.ppp.asahi-net.or.jp) joined #forth 08:05:28 --- join: nighty- (~cp@www.taiyolabs.com) joined #forth 08:30:41 --- join: Kumool (~kumool@adsl-64-237-238-31.prtc.net) joined #forth 08:44:12 DGASAU, not a useful or accurate comment. 08:48:31 yep. i really don't know why he is here except to troll 08:51:46 bluekelp, long time ago he used to provide some insights but those days seem past. 08:58:57 proteusguy: it may be not useful, but it is absolutely accurate. 08:59:22 See canonical implementations like FIG-Forth, F83, and even some later ones. 09:00:12 I don't remember how gforth deals with it, but I'm not going to be surprised if it ignores it either. 09:05:51 Zevv: besides, if error occurs during compilation, it means that you've made a mistake. 09:05:51 Zevv: the Forth policy is "don't make mistakes." 09:10:11 DGASAU, nonsense. Forth is completely interactive and you build it from the bottom up or top down depending on where you're at in your implementation. If you make a mistake it's easy to refactor in forth. It's one of the very first languages that this statement was ever true. 09:12:58 He talks about completely different sort of mistakes. 09:13:04 He talks about compilation errors. 09:14:05 If you look at historical implementations, then Forth ignores this issue and suggests "don't make mistakes" as the primary and in a lot of cases the only weay to handle the issue. 09:14:39 or just do "forget " 09:14:42 and retry 09:14:55 forth is a language where you build the syntax up yourself. If it compiles correctly how is it a "mistake". Forth couldn't know. 09:15:04 If you know Forth a least a little, you know that incomplete words are not presented in dictionary. 09:15:52 DGASAU, it's a tradeoff and forth goes very strongly one direction. But if you build small words out of smaller words it's pretty easy to figure out quickly. 09:16:33 It is not a tradeoff. 09:16:46 It is limitation on complexity of problems you can solve. 09:19:15 whats an incomplete word? 09:20:03 The one that wasn't finished with ";" because of "abort". 09:20:38 --- join: mnemnion (~mnemnion@c-98-207-249-139.hsd1.ca.comcast.net) joined #forth 09:50:20 DGASAU, as you should know, it's a way of forcing you to eliminate complexity. Which is what all good software practices do. You build up a DSL that is more expressive as your problem domain complexity rises. 09:51:36 well, he's also the one that thinks forth should have a formal parser 09:51:55 don't think you'll convince him that reducing complexity is a good thing 09:55:31 --- join: HoloIRCUser2 (~holoirc@80-218-43-117.dclient.hispeed.ch) joined #forth 09:56:36 --- quit: HoloIRCUser2 (Client Quit) 09:57:59 --- join: HoloIRCUser2 (~holoirc@80-218-43-117.dclient.hispeed.ch) joined #forth 10:09:13 I mean mistakes like using an immediate which causes a stack underrun 10:09:53 Zevv: yes, I understand it. 10:09:56 See above. 10:10:12 which comment 10:10:25 The first one. 10:10:44 the non-problem 10:10:54 The usual Forth approach is to ignore this problem and teach you not to make mistakes. 10:10:59 well, that makes sense, since I am perfect and never make mistakes 10:11:30 proteusguy: "A way of forcing you to eliminate complexity" is nothing but limiting ability to solve problems. 10:13:15 All the ideology around it is "replace original problem with simpler one, even when solution for the latter is useless." 10:14:09 DGASAU, you're wrong. And my assertion is about as useful as yours in reconciling the claim with reality - i.e. not at all. 10:16:03 --- quit: HoloIRCUser2 (Ping timeout: 240 seconds) 10:16:16 well, I'll leave you two to discuss this, my solution now is to rollback 'here' and 'latest' pointers to the point they were before compiling the word started, good enough for me 10:29:49 --- join: novavis (4f242f32@gateway/web/cgi-irc/kiwiirc.com/ip.79.36.47.50) joined #forth 10:41:52 proteusguy: no, I'm right. 10:42:24 can I be left then? 10:42:24 Any moderately literate person knows that you can't reduce complexity of problem below some limit without sacrificing the use of solution. 10:53:37 DGASAU, that's what I said. I said to increase and orient the expressiveness of your language to fit the specific problem. Much or even most of the complexity of problems people solve with computers are due to the limitations of their (general) solution, not the inherent complexity of the problem itself. 10:53:59 --- quit: beretta (Quit: Leaving) 10:55:58 wow 10:56:02 You cannot do that. 10:56:07 that escallate quickly 10:56:19 escalated quickly 10:56:20 All this "DSL" argument is utter bullshit. 10:56:38 It is indication that Forth programmers haven't learned anything within last 30 years. 10:56:53 DGASAU, and your implied ad hominems are not welcome here. 10:57:31 Not to mention that they have failed to implement proper parser from the very beginning which casts doubts that they are able to implement any DSL at all. 10:58:21 I was under the impression that I asked a pretty practical question, but the philosophical implications are way beyond me 10:58:52 I answered it. 10:58:54 DGASAU, every forth program I've ever written was pretty much a dsl. 10:59:19 proteusguy: in that case _any_ program implements "pretty much a DSL." 10:59:23 In any language. 10:59:26 C included. 11:00:08 --- part: Zevv left #forth 11:00:44 --- part: proteusguy left #forth 11:00:51 --- join: proteusguy (~proteusgu@node-3om.pool-101-108.dynamic.totbb.net) joined #forth 11:00:51 --- mode: ChanServ set +v proteusguy 11:02:11 DGASAU, you're ranting now. Whatever happened to the coherent useful DGASAU ? 11:02:32 Am I? 11:02:35 No, I'm not. 11:03:13 I have answered the original question, so everything is still the same. 11:03:30 The only problem is that you don't like the answer. 11:04:36 DGASAU, check the rules. Don't troll. 11:05:57 I don't troll. 11:06:00 You do. 11:06:08 I have answered the original question. 11:07:22 You started talking the usual nonsense about interactivity and refactoring which have no relation to the original question. 11:11:20 DGASAU> Zevv: the Forth policy is "don't make mistakes." is troll speak. 11:12:05 --- join: workp (~workp@host-92-15-248-18.as43234.net) joined #forth 11:15:48 --- join: beretta (~beretta@cpe-98-30-146-54.columbus.res.rr.com) joined #forth 11:16:11 --- quit: DGASAU (Ping timeout: 250 seconds) 11:24:32 --- quit: workp (Quit: leaving) 11:24:48 --- join: DGASAU (~user@lmpc.drb.insel.de) joined #forth 11:26:39 proteusguy: that's the usual "any person writing what I don't like is a troll" logic. 11:36:34 --- quit: dograt (Ping timeout: 260 seconds) 11:44:30 --- join: dograt (~dograt@unaffiliated/dograt) joined #forth 11:52:47 --- quit: proteusguy (Ping timeout: 260 seconds) 12:08:58 --- join: proteusguy (~proteusgu@180.183.111.95) joined #forth 12:08:58 --- mode: ChanServ set +v proteusguy 12:20:25 --- quit: DGASAU (Ping timeout: 240 seconds) 12:34:57 --- join: DGASAU (~user@lmpc.drb.insel.de) joined #forth 12:57:44 --- quit: novavis (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 13:03:27 --- join: JDat (~JDat@89.248.91.5) joined #forth 13:17:50 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 13:19:34 --- quit: Kumool (Ping timeout: 276 seconds) 13:33:34 --- quit: JDat (Ping timeout: 258 seconds) 13:58:43 --- quit: karswell (Remote host closed the connection) 13:59:55 --- join: karswell (~user@128.28.90.146.dyn.plus.net) joined #forth 14:20:03 --- join: wa5qjh (~Thunderbi@121.54.58.131) joined #forth 14:38:57 --- join: true-grue (~true-grue@176.14.216.104) joined #forth 14:41:55 --- quit: real-grue (Ping timeout: 244 seconds) 14:53:10 --- mode: ChanServ set +o crc 14:54:57 --- mode: ChanServ set +o proteusguy 14:55:14 --- mode: ChanServ set -o crc 15:01:34 --- join: Uniju (~frog_styl@cpe-74-78-4-232.mass.res.rr.com) joined #forth 15:04:25 --- quit: Uniju_ (Ping timeout: 258 seconds) 15:13:03 --- quit: wa5qjh (Read error: Connection reset by peer) 15:15:04 --- join: wa5qjh (~Thunderbi@121.54.58.131) joined #forth 15:35:24 --- quit: true-grue (Read error: Connection reset by peer) 15:43:21 --- quit: Zarutian (Quit: Zarutian) 15:55:47 --- quit: nighty (Ping timeout: 258 seconds) 15:59:32 --- join: Kumool (~kumool@adsl-64-237-237-56.prtc.net) joined #forth 16:07:00 --- quit: Skuzzzy (Ping timeout: 244 seconds) 16:26:06 --- quit: wa5qjh (Read error: Connection reset by peer) 16:29:31 --- join: wa5qjh (~Thunderbi@121.54.58.131) joined #forth 16:55:22 --- join: nighty (~nighty@d246113.ppp.asahi-net.or.jp) joined #forth 16:56:07 --- quit: Kumool (Ping timeout: 260 seconds) 16:56:11 --- join: Kumool_ (~kumool@adsl-64-237-234-253.prtc.net) joined #forth 17:12:03 --- quit: Kumool_ (Ping timeout: 240 seconds) 17:13:29 --- join: Kumool (~kumool@adsl-64-237-234-253.prtc.net) joined #forth 17:21:22 --- join: Skuzzzy (~Skuzzzy@wsip-70-166-101-14.ph.ph.cox.net) joined #forth 17:26:52 --- join: fiddlerwoaroof (~fiddlerwo@unaffiliated/fiddlerwoaroof) joined #forth 17:51:04 --- quit: wa5qjh (Read error: Connection reset by peer) 17:53:00 --- join: wa5qjh (~Thunderbi@121.54.58.131) joined #forth 19:11:06 --- mode: proteusguy set +o proteusguy 19:40:18 --- quit: karswell (Remote host closed the connection) 19:43:29 --- join: vsg1990 (~vsg1990@pool-74-110-57-203.bflony.fios.verizon.net) joined #forth 20:40:37 --- quit: wa5qjh (Read error: Connection reset by peer) 20:43:24 --- join: wa5qjh (~Thunderbi@121.54.58.131) joined #forth 22:07:29 --- quit: wa5qjh (Read error: Connection reset by peer) 22:10:55 --- join: wa5qjh (~Thunderbi@121.54.58.131) joined #forth 22:14:08 --- quit: vsg1990 (Quit: Leaving) 22:37:08 --- quit: fiddlerwoaroof (Read error: Connection reset by peer) 22:44:28 --- join: fiddlerwoaroof (~fiddlerwo@unaffiliated/fiddlerwoaroof) joined #forth 22:51:43 --- join: fiddlerwoaroof_ (~fiddlerwo@unaffiliated/fiddlerwoaroof) joined #forth 22:53:09 --- quit: fiddlerwoaroof_ (Read error: Connection reset by peer) 22:53:56 --- join: fiddlerwoaroof_ (~fiddlerwo@unaffiliated/fiddlerwoaroof) joined #forth 22:53:58 --- quit: fiddlerwoaroof_ (Read error: Connection reset by peer) 22:54:34 --- join: fiddlerwoaroof_ (~fiddlerwo@unaffiliated/fiddlerwoaroof) joined #forth 22:55:28 --- quit: fiddlerwoaroof (Ping timeout: 276 seconds) 23:05:32 --- quit: fiddlerwoaroof_ (Read error: Connection reset by peer) 23:05:53 --- join: fiddlerwoaroof (~fiddlerwo@unaffiliated/fiddlerwoaroof) joined #forth 23:10:09 --- quit: fiddlerwoaroof (Ping timeout: 260 seconds) 23:42:58 --- quit: Kumool (Read error: Connection reset by peer) 23:59:59 --- log: ended forth/16.06.02