00:00:00 --- log: started forth/15.07.03 00:02:26 --- join: proteusguy (~proteusgu@ppp-110-168-229-48.revip5.asianet.co.th) joined #forth 00:02:26 --- mode: ChanServ set +v proteusguy 00:09:41 --- join: nighty^_ (~nighty@static-68-179-124-161.ptr.terago.net) joined #forth 00:10:28 --- join: Backer_ (~backer@banjo.employees.org) joined #forth 00:11:16 --- join: ionthas (~ionthas@95.85.1.209) joined #forth 00:11:28 --- quit: b4283 (Ping timeout: 250 seconds) 00:11:28 --- quit: Backer (Read error: Connection reset by peer) 00:11:29 --- quit: nighty^ (Read error: Connection reset by peer) 00:11:29 --- quit: ionthas_ (Ping timeout: 250 seconds) 00:11:55 --- join: b4283 (~b4283@128.199.246.141) joined #forth 00:13:31 --- quit: proteusguy (Quit: Leaving) 00:13:53 --- join: proteusguy (~proteusgu@ppp-110-168-229-48.revip5.asianet.co.th) joined #forth 00:13:53 --- mode: ChanServ set +v proteusguy 00:41:49 --- quit: bishopj`` (Read error: Connection reset by peer) 00:42:42 --- join: bishopj`` (~user@2a03:b0c0:2:d0::3f6:5001) joined #forth 01:05:54 --- quit: proteusguy (Ping timeout: 246 seconds) 01:18:38 --- join: proteusguy (~proteusgu@ppp-110-168-230-51.revip5.asianet.co.th) joined #forth 01:18:38 --- mode: ChanServ set +v proteusguy 01:34:22 --- quit: fantazo (Ping timeout: 264 seconds) 01:40:09 --- quit: bishopj`` (Read error: Connection reset by peer) 01:41:02 --- join: bishopj`` (~user@2a03:b0c0:2:d0::3f6:5001) joined #forth 02:27:53 --- join: Quiznos (1000@c-50-163-162-160.hsd1.fl.comcast.net) joined #forth 02:27:57 mornin 02:48:15 --- join: true-grue (~grue@95-27-156-131.broadband.corbina.ru) joined #forth 02:51:21 --- join: fantazo (~fantazo@089144210163.atnat0019.highway.a1.net) joined #forth 03:17:59 --- quit: bishopj`` (Read error: Connection reset by peer) 03:18:47 --- join: bishopj`` (~user@2a03:b0c0:2:d0::3f6:5001) joined #forth 03:26:27 --- quit: karswell` (Ping timeout: 252 seconds) 03:43:05 --- quit: bishopj`` (Read error: Connection reset by peer) 03:44:05 --- join: bishopj`` (~user@2a03:b0c0:2:d0::3f6:5001) joined #forth 04:39:39 --- quit: bishopj`` (Read error: Connection reset by peer) 04:40:32 --- join: bishopj`` (~user@2a03:b0c0:2:d0::3f6:5001) joined #forth 04:40:46 + 04:41:39 --- quit: fantazo (Quit: Verlassend) 05:16:44 2+ 05:33:35 --- quit: bishopj`` (Read error: Connection reset by peer) 05:34:26 --- join: bishopj`` (~user@2a03:b0c0:2:d0::3f6:5001) joined #forth 05:36:29 --- quit: JohnMarkM (Ping timeout: 246 seconds) 05:39:54 --- join: JohnMarkM (~johnmark@24.1.223.32) joined #forth 05:43:34 Good evening. :) 05:44:53 Quiznos, was it you that was doing a port of the fig forth model because you wanted to separate data from code and had new concepts about how your CFA should work? 05:49:03 hi yes 05:49:25 ... be used 05:49:28 could be 05:56:14 --- quit: bishopj`` (Read error: Connection reset by peer) 05:56:26 proteusguy: 05:57:20 --- join: bishopj`` (~user@2a03:b0c0:2:d0::3f6:5001) joined #forth 06:06:36 Quiznos, been years since I looked at fig forth - what's the short version of it's interesting architecture and why you think that's more appropriate. Your intention is to better support a Harvard memory model? 06:09:01 i'm not considering harvard or Oxford :] i just want t figish model bc that;s what i remember and 've been thinking about its capabilities for years; it's tree sturcuture could lend itself to oopiness easily and i think its time to port and ungrade to modern hw and virons. 06:09:30 banchs of branchs would easily provide dat hiding 06:09:58 that's encapsulation; and polymorph too; and even inheritance. 06:10:14 i can even imagaine overloading by type 06:11:15 I see. I'm actually working out some design issues for a language that fulling supports the DCI computing model. https://en.wikipedia.org/wiki/Data,_context_and_interaction . This is "true" OO architecture and I think building it on top of a forth-ish model is the best way to iterate over the language structure. 06:11:16 even parent object chaining (super) could be done 06:12:32 ok; 1st; be comfortable with your chosen forth model and keep is simple. fix internals later. and do proper separatiuon of project code from model code. 06:12:44 contexts are somewhat similar to custom dictionaries but applied on a per-object basis. roles are an explicit part of the language. ultimately the code should resemble the structure of a use case to support the developer/stakeholder mental model. 06:12:49 and ignore portability!!! 06:13:01 ok 06:13:40 and remember, with modern hw/cpu, you likely have billions of cycles to burn, so postpone optimising. 06:13:47 and ignore ram issues too 06:13:52 :) 06:13:57 I don't care about portability but I do care about overhead in reconciling what functions get called and I definitely want the interactive programming model that forth provides. So much of this "method resolution" must happen at compile time to be effective. 06:14:31 --- quit: bishopj`` (Read error: Connection reset by peer) 06:14:42 Quiznos, as it is I'm implementing mine using BareOS 64-bit flat model minimal OS. Basically full 64-bit DOS. So no RAM issues but I also don't want to waste cycles. 06:14:43 ok 06:15:01 So I will need a very custom CFA structure as well I think ultimately. 06:15:03 nice and right 06:15:15 CFA is always a pointer. 06:15:25 but its uniqness can be used as a type indicator too 06:15:51 did you see what i wrote about pulling "name" out of the symbol? 06:15:54 --- join: bishopj`` (~user@2a03:b0c0:2:d0::3f6:5001) joined #forth 06:16:06 btw, lemmee define the structure i have, in C styke; 06:16:30 struct Symbol { char name[]; *NFA; *LFA; *CFA; PFA[] }; 06:16:43 Symbol is the whole heaader for a word. 06:17:01 and pfa[] can be optional depending on CFA value 06:17:13 nfa becomes a true pointer to value. 06:17:35 and field jumping is just cell- and cell+ now 06:18:27 You're going to do some sort of graph structure to support multiple virtual dictionaries to help your method resolution? 06:18:58 well, the way i understand oop, 06:19:13 its overlay onto a figish tree with branches makes that easy. 06:19:45 if a word doesnt exist in ./branch, then fifofrht (FF hereafter) will naturally search parent branches. 06:20:00 so resolution happens naturally 06:20:08 and at runtime 06:20:39 mid you, i havent studied in praticular so my comprehension is cursory only. i get the basic concepts. 06:21:06 studied oop that is 06:22:06 mid/mind 06:23:50 Runtime resolution of a function will involve dictionary lookups? 06:24:03 naturally 06:24:13 with no effort onmy part. 06:25:25 That's not gonna scale performance-wise unless your dict lookup is highly optimized ala python. Even then about a 40x cost vs a C++ virtual method table. 06:25:27 maybe a lexicon's pfa[] will need more fields to support arent super classes and siblings 06:27:02 well; in terms of FF branches of dicts, a branch child of a branch would not appear publicly and a top-class would have a null field to indicate end of class to find word 06:27:05 Unless instantiating an object does all this dict method resolution up front so further calls to an existing method are then only a single pointer indirection (or none). 06:27:22 --- join: impomatic (~impomatic@22.125.115.87.dyn.plus.net) joined #forth 06:41:36 you're quite focused on performance on modern hw. why not postpone that thinking till later, fater the ninary is running when perf-ing can be done proeprly? Speculaation is often wrong. 06:42:42 --- join: protist (~javery@50.248.69.111.dynamic.snap.net.nz) joined #forth 06:45:30 Well we're not talking performance optimization as much as we're talking about performance complexities that are core to the architecture. And modern cpus must have code designed in a certain way so as to not confuse their branch prediction or your app will suffer greatly. So those kinds of considerations mainly. Has to be designed to be possible to optimize instead of optimization prohibited. 06:46:28 well FF is design around (*fp)() so, its alrdy a problem in those terms. 06:46:45 however 06:47:11 maybe you're not considering that FF does build..does creation too? 06:47:43 words in a creating-class to create objects and members? 06:48:17 ie, a FILE branch to handle public stdin stdout stderr files and ser-made files too? 06:48:49 I'm just trying to get my head around polymorphic resolution of methods called at runtime that depend on a dictionary lookup. Or perhaps I misunderstood. 06:48:56 the file struct is private to members somehow and and maybe stdin word provides access to its fields? 06:49:35 first, keep it simple; 2d, read ancient fig docs mand magazine articles and books. 06:50:18 also rememb, that "elegant" also pairs with "simple" 06:51:29 also remember that sculpting isnt design, its' cleanup (wipe out the unessary bits and be left with beautiful.) 06:52:38 Quiznos, quite right. Boiling it all down so all unnecessary complexity is gone is certainly the primary goal. Otherwise we're no longer in forth-land. :-) 06:52:59 I gotta head out. good luck & ttyl. 06:52:59 yes 06:53:15 a Brodie-ish-ism :) 06:53:19 ok ttyl 06:53:23 ponder it 06:53:36 and ty 06:55:01 --- quit: bishopj`` (Read error: Connection reset by peer) 06:56:17 --- join: bishopj`` (~user@2a03:b0c0:2:d0::3f6:5001) joined #forth 07:14:20 --- quit: bishopj`` (Read error: Connection reset by peer) 07:15:38 --- join: bishopj`` (~user@2a03:b0c0:2:d0::3f6:5001) joined #forth 07:16:16 --- quit: true-grue (Read error: Connection reset by peer) 07:32:23 --- quit: bishopj`` (Read error: Connection reset by peer) 07:33:40 --- join: bishopj`` (~user@2a03:b0c0:2:d0::3f6:5001) joined #forth 07:50:00 --- quit: bishopj`` (Read error: Connection reset by peer) 07:51:15 --- join: bishopj`` (~user@2a03:b0c0:2:d0::3f6:5001) joined #forth 07:56:48 --- quit: darkf (Quit: Leaving) 08:16:15 ok, folks; i'm done for now. be well and thankd for all the bits. remember to swish. 08:16:53 --- quit: Quiznos (Quit: leaving) 08:26:12 --- join: spoofer (~cruella@58.sub-70-199-142.myvzw.com) joined #forth 08:27:49 --- quit: joneshf-laptop (Ping timeout: 256 seconds) 08:28:13 --- join: joneshf-laptop (~joneshf@98.208.35.89) joined #forth 08:50:51 --- join: true-grue (~grue@95-27-159-115.broadband.corbina.ru) joined #forth 08:55:26 --- quit: bishopj`` (Read error: Connection reset by peer) 08:56:47 --- join: bishopj`` (~user@2a03:b0c0:2:d0::3f6:5001) joined #forth 09:40:55 --- quit: bishopj`` (Read error: Connection reset by peer) 09:42:15 --- join: bishopj`` (~user@2a03:b0c0:2:d0::3f6:5001) joined #forth 09:54:04 --- join: carc (~carc@unaffiliated/carc) joined #forth 09:58:28 --- quit: bishopj`` (Read error: Connection reset by peer) 09:59:47 --- join: bishopj`` (~user@2a03:b0c0:2:d0::3f6:5001) joined #forth 10:04:00 --- join: karswell` (~user@80.229.124.222) joined #forth 10:15:33 --- quit: bishopj`` (Read error: Connection reset by peer) 10:17:01 --- join: bishopj`` (~user@2a03:b0c0:2:d0::3f6:5001) joined #forth 10:29:08 --- quit: spoofer (Ping timeout: 248 seconds) 10:35:45 --- join: Plutonium_ (~Plutonium@180.151.29.177) joined #forth 10:36:24 Hello ?? Is anybody there ? Just a passerby 10:39:01 ok. In case someone sees this, could you please address my concerns regarding forth here at this link -> http://stackoverflow.com/questions/31211717/is-forth-is-still-used?noredirect=1#comment50425276_31211717 10:39:49 I'll be more than happy on receiving your advice 10:45:14 --- join: bedah (~bedah@dyndsl-095-033-177-013.ewe-ip-backbone.de) joined #forth 10:45:43 Plutonium_, the question seems answerable with about a 15 minute google effort. The point of a language is not whether it's "dead" but whether it's useful. Latin is dead. Knowing Latin allows you to understand many languages far better than you ever could without knowing Latin. BTW that's not a complete answer - it just points out that your question isn't a very useful or interesting one. 10:48:57 Well. As mentioned there, I did come across google links. But mostly suggest that the user base of this language is pretty small and diminishing. You can frame my question (very loosely and abstractly) like this : How likely is someone going to notice if I say "Hey I know FORTH" 10:50:02 Again, why should anyone but you care if you know forth? 10:50:20 --- quit: bishopj`` (Read error: Connection reset by peer) 10:50:35 The real question is why should you know forth. Why does it exist? 10:50:42 They will if I can solve their problem 10:51:05 and more importantly if They know FORTH can solve their problem 10:51:21 forth can't solve their problem. 10:51:57 --- join: bishopj`` (~user@2a03:b0c0:2:d0::3f6:5001) joined #forth 10:52:25 In your question you can replace 'forth' with any other language you can name and the answer will be equally useful. 10:53:09 Well, c# has been solving microsoft's problem. Verilog has been solving hardware problems 10:53:23 Java has been solving Oracles 10:53:46 no language has ever solved anyone's problems ever. once you understand that you might be able to ask a useful or interesting question. 10:54:09 gotta run... 10:54:13 Ok. Then why should I know FORTH 10:54:53 go understand forth and you will be able to answer the question for yourself. no one but you can ever answer that question regardless. 10:57:21 well thats getting philosophical. See, you might find my question very abstract or pointless partly because you know FORTH, who uses it, why it is used. But really, I dont know all this. And besides, I'm not going to learn it in a day or two. Its going to take valuable time 10:58:54 And there are a ton of other stuff which although very useful, no one really uses and bothers. What if FORTH turns out to be just that (Please no offense) 11:01:39 My objections to your question have zero to do with forth. I'm not truing to bust your balls here but your question presumes so many false notions that would have to be corrected before a useful question could ever come out of it that you're expecting others to do all the heavy lifting for you. Until you understand that you won't benefit from any answer anyway. So perhaps the honest answer, for now, is that YOU probably shoul 11:01:39 dn't learn forth or any other new languages besides what you already know because it would be a waste of your time as you wouldn't actually understand what a computer language is, does, or exists at all. 11:02:09 It's not philosophical -it is 100% practical. 11:02:52 Making any effort at all on your part would reveal these facts to you so the fact that you don't appreciate this means you've not put in any effort. 11:04:33 Plutonium_, I don't think it's intentional on your part but your question/attitude is honestly indistinguishable from a troll. Think about it. Then act on your new perspective and correct this deficiency. You might find the forthers to be the most open to helping people who make an effort than most (any?) other language. Best of luck. 11:10:37 heh 11:11:03 this is a case where I'm wondering--if the person won't take their prof's advice, why should I expect they'd take any of our advice? 11:13:19 --- join: ASau (~user@176.0.7.228) joined #forth 11:16:48 Well thank you. But again I would emphasise, you are saying this because you know this stuff. I would like to make an analogy. I picked up C as my first prog language(just 2 years back) (most do it anyway nowadays). And I asked anyone -> Well yeah You shoul know C. Pretty useful stuff. You are going nowhere without C etc etc. The argument was so convincing "You HAVE to do C if you are going anywhere". Now, I have googled a bit and it has revealed that 11:19:33 My approach was different. I wanted to know about every language I ever ran across. Back in the day languages were popping up so fast that Computer Language magazine had a monthly article called the "Language of the Month Club" which would discuss some new esoteric language. Most died quickly but some, such as C++, took over the world. All had interesting reasons for existing and people who appreciated those reasons got bette 11:19:34 r at the languages they already knew as well. I'm trying to point out to you, multiple times now, that your motivation/attitude is not conducive to getting any benefit from the answer to your question. 11:22:22 And your presumption about the motivation behind my response is, again, completely off base. Sorry. 11:22:24 --- quit: bishopj`` (Remote host closed the connection) 11:24:33 Plutonium_, what *could* be a good question would be to describe some project you've got to do, be explicit about the architectural drivers that your solution must address, provide any other relevant details about the target platform (if not flexible), then ask - "what languages are best at supporting solutions with these constraints/goals and why?" Now you've got a question that might elicit an actionable response. 11:24:57 --- quit: nighty^_ (Ping timeout: 252 seconds) 11:25:44 --- join: nighty^ (~nighty@static-68-179-124-161.ptr.terago.net) joined #forth 11:30:42 Well. I'll be very frank now. In my country, they hire you on your resume and achievements. They dont hire you on your knowledge etc stuff. If your resume says a particular skill, you are good. If it doesnt carry that X-factor, no matter what else you know. You dont know that X-factor and so you have nowhere to go. SAD but TRUE. So investing time in a new skill means a compromise on another one. You might find this whole thing offensive or funny, but T 11:31:07 What country are you from? You should leave if you ever want to enjoy your career. 11:32:20 Anyway, I'm 99.99999% certain that forth will never be of benefit to you in your country with that set of "architectural drivers". If that's your priority then please move on, there is nothing to see here. :) 11:33:57 Well. Thats really not possible, neither have I thought abt. Thats why i was asking again and again -> Is it going to give me that X-factor ? See it from my POV. If the guys dont know what forth is and what it is capable of, its landing me nowhere 11:34:41 Every competent forth programmer I know uses it in spite of its popularity - not because of it. Forthers are curmudgeons. We're such hard core curmedgeons that people who hate forth lurk forever on our list. We even have an official forth hating curmudgeon on this channel our dear Mr. ASau . :) 11:34:58 You should run away from forth. Seriously. 11:35:06 Ask ASau - he'll tell you why. 11:35:19 Mr ASau ? 11:35:49 yep if he's around he can give you all the reasons you'll ever need to never use forth. many fit right into your described priorities. 11:35:58 Plutonium_, so which country are you from after all? 11:36:35 why is this message brown ? I dont really want to disclose publicly 11:37:35 Plutonium_, why don't you want people to know your from India? 11:38:38 --- quit: protist (Quit: Konversation terminated!) 11:38:55 Plutonium_, and also I know for a fact that there are good Indian dev shops that appreciate good tools and developers who can apply them. Every country has idiots that treat software development like factory workers. If you don't want to be treated as such then quit acting like one. 11:41:01 Well. The struggle is really not to become that idiot 11:41:35 Then take my advice and find your own path. 11:42:04 Don't let anyone else tell you what is the one true language for you. 11:42:51 Well Thank you. Peace ! 11:44:18 take care & good luck grasshopper. 11:45:04 Thanks again ! 11:45:20 --- part: Plutonium_ left #forth 11:58:03 --- join: fantazo (~fantazo@089144202226.atnat0011.highway.a1.net) joined #forth 12:17:22 --- join: Mat4 (~claude@ip18863485.dynamic.kabel-deutschland.de) joined #forth 12:17:24 hello 12:36:26 hey Mat4 12:37:07 hi bluekelp 12:57:19 --- quit: ASau (Remote host closed the connection) 12:57:31 --- join: ASau (~user@176.0.7.228) joined #forth 13:59:27 --- quit: nighty-_ (Quit: Disappears in a puff of smoke) 14:40:03 --- quit: Mat4 (Quit: Verlassend) 15:00:20 --- quit: fantazo (Ping timeout: 250 seconds) 15:56:58 --- join: spoofer (~cruella@72.10.28.164) joined #forth 16:08:08 --- quit: true-grue (Read error: Connection reset by peer) 16:23:36 --- quit: bedah (Quit: Ex-Chat) 16:32:35 --- quit: karswell` (Ping timeout: 252 seconds) 16:33:41 --- quit: Guest38439 (Ping timeout: 252 seconds) 16:36:18 --- join: dys (~andreas@2a01:1e8:e100:8296:f66d:4ff:fec1:4421) joined #forth 16:36:18 --- nick: dys -> Guest54550 16:48:02 --- join: saml_ (~saml@cpe-24-102-97-97.nyc.res.rr.com) joined #forth 17:00:02 --- quit: JohnMarkM (Read error: Connection reset by peer) 17:01:15 --- join: johnmark_ (~johnmark@24.1.223.32) joined #forth 17:01:40 --- nick: johnmark_ -> JohnMarkM 19:50:05 --- join: darkf (~darkf___@unaffiliated/darkf) joined #forth 21:00:29 --- quit: spoofer (Read error: Connection reset by peer) 22:43:58 --- quit: saml_ (Ping timeout: 264 seconds) 23:29:02 --- join: Quiznos (1000@c-50-163-162-160.hsd1.fl.comcast.net) joined #forth 23:59:59 --- log: ended forth/15.07.03