00:00:00 --- log: started forth/10.09.20 00:49:09 --- quit: impomatic (Quit: ChatZilla 0.9.86 [Firefox 3.5.12/20100824110549]) 01:25:43 --- join: ygrek (debian-tor@gateway/tor-sasl/ygrek) joined #forth 01:35:59 --- join: bakaboo (~bakaboo@62.72.185.55) joined #forth 02:22:56 --- join: spinlock (~spinlock@208.80.69.244) joined #forth 03:28:51 --- quit: ygrek (Ping timeout: 245 seconds) 05:21:46 --- quit: crcx (Ping timeout: 245 seconds) 06:34:36 --- join: ygrek (debian-tor@gateway/tor-sasl/ygrek) joined #forth 06:43:09 --- join: Monev (~nal@67.224.249.96) joined #forth 07:07:11 --- quit: ygrek (Ping timeout: 245 seconds) 07:27:47 --- join: crcx (~crc@li125-93.members.linode.com) joined #forth 07:30:48 --- quit: crc (Ping timeout: 252 seconds) 07:32:22 --- join: crc (~charlesch@184.77.185.20) joined #forth 07:40:39 --- quit: TreyB (Quit: Leaving.) 07:41:04 --- join: TreyB (~Adium@adsl-99-165-168-78.dsl.hstntx.sbcglobal.net) joined #forth 08:03:51 --- quit: Monev (Ping timeout: 245 seconds) 08:05:36 --- join: Monev (~nal@adsl-72-50-82-194.prtc.net) joined #forth 08:09:03 --- quit: koisoke (Ping timeout: 272 seconds) 08:44:01 --- join: impomatic (~chatzilla@87.115.83.45) joined #forth 09:31:50 --- join: qFox (~C00K13S@5356B263.cable.casema.nl) joined #forth 11:02:00 --- quit: gogonkt (Ping timeout: 252 seconds) 11:03:30 --- join: gogonkt (~info@113.105.207.209) joined #forth 11:32:14 --- quit: impomatic (Quit: ChatZilla 0.9.86 [Firefox 3.5.13/20100914130356]) 12:31:22 --- join: impomatic (~chatzilla@87.115.83.45) joined #forth 12:42:58 --- join: scott__ (~scott@207.98.152.197) joined #forth 12:54:49 --- quit: qFox (Ping timeout: 265 seconds) 12:59:45 --- quit: scott__ (Ping timeout: 265 seconds) 14:02:30 --- quit: impomatic (Quit: ChatZilla 0.9.86 [Firefox 3.5.13/20100914130356]) 14:18:12 --- join: nwfie (4f9cb696@gateway/web/freenode/ip.79.156.182.150) joined #forth 14:19:56 hi, are there forth based Operating Systems currently available? 14:20:55 yes 14:21:07 which ones? 14:21:48 forthos.org is one. 14:22:05 There's only old forthos, which is based on mostly obsolete eForth. 14:22:33 yup 14:23:02 i wrote a few for mips, sparc, and what not 14:23:11 what do you mean by obsolete? 14:23:29 What do you not understand in the meaning of "obsolete"? 14:23:42 nwfie: nobody is hacking on it, it isn't ans forthy, etc etc 14:23:52 unmaintained? 14:23:59 Yes. 14:24:03 nwfie: why don't you look? 14:24:05 ok 14:24:21 Both as language implementation and as operating system. 14:24:48 have you ever tried it? 14:25:50 Yes. 14:26:04 It isn't interesting at all. 14:26:11 Basically it is just eForth running on bare metal. 14:26:17 nod 14:26:23 it is kind easy to write such a forth 14:27:43 Yeah, it's easy to call "operating system" anything running on bare metal. 14:27:57 It adds very much to your ego. 14:28:50 yeah 14:29:15 More than imaginary lack of syntax, for sure. 14:29:25 more fun to write a forth "system" than a unix one. 14:29:38 ASau: forth doesn't have syntax, feel free to stop smoking whatever you are smoking, or share it 14:30:00 my ignore is easily triggered 14:30:01 Sure, writing unix means you have to understand parallel programming, 14:30:18 bollocks 14:30:42 very few people know how to do concurrent programming in C 14:30:43 writing Forth means that you may just implement several drivers. 14:31:00 why do you think c/c++ has become more popular for writing OS? 14:31:01 Even less people know how to do concurrent programming in Forth. 14:31:07 (properly anyway; not that it is hard to do concurrent programming in C) 14:31:38 nwfie: please don't lump c++ with c... 14:31:44 it is like uhm saying lisp/forth 14:32:03 ok, let's say just c 14:32:16 it got popular because those who wrote unix knew c. 14:32:17 simple. 14:32:34 if they had known ada, then it would have been written in ada 14:32:34 It got popular because those who wrote unix invented C. 14:33:13 They couldn't invent anything better for lack of resources. 14:34:12 it's a pity that languages become popular not for their own merit but by the people backing them... 14:34:23 nwfie: they did get popular for their own merit 14:34:29 C is a decent enough language 14:34:35 and java? 14:34:43 Java is better than C. 14:34:52 spoken like someone who doesn't know C. 14:34:56 java is horrid 14:35:06 You just don't know Java. 14:35:16 no, not at all, hence why is sit with it all day 14:35:19 (And C either.) 14:35:32 nope, neither that, having written C for 20 years.. 14:35:32 but wouldn't you say forth was more suited for the task of programming an OS? 14:35:34 not at all 14:36:17 nwfie: would you use a spoon to eat bread? 14:36:23 I know one programmer who has written in C for decades, 14:36:24 still unable to write "strncpy" instead of "strcpy". 14:36:35 ASau: try creat 14:36:49 and nothing wrong with strcpy. 14:36:52 if you know what you do. 14:36:54 ams I don't get the analogy 14:37:07 nwfie: well, would you use a spoon to eat bread? 14:37:44 linus used assembly before changing to c for writing the kernel. 14:38:12 no he didn't. 14:38:15 nwfie: you won't believe it! 14:38:23 he said he realized C was more productive. 14:38:31 Kernighan & co used assembly before changing to C for writing the kernel! 14:38:46 everyone used assembly before ... 14:38:48 well, that's what I read somewhere. Perhaps it is not true 14:39:16 assembly has its place. 14:39:23 like C, like forth, like brainfuck 14:39:36 you don't use a hammar to on a philips screw. 14:39:38 and what is forth's place? 14:39:45 nwfie: tiny things. 14:40:01 it doesn't scale well then? 14:40:02 nwfie: where brainfuck belongs. 14:40:09 nwfie: sure it does. 14:40:16 nwfie: of course no. 14:40:21 ASau: :-) 14:40:24 have a cookie. 14:40:35 nwfie: you can safely ignore ams, he doesn't know what he's talking about. 14:41:18 ASau: what is your favorite programming language then? 14:41:31 nwfie: Common Lisp. 14:41:34 nwfie: i'm guessing .. java, or maybe f# 14:41:41 nwfie: see? 14:41:50 ams: I've heard forth is being used for boot loaders 14:41:51 nwfie: like I said above, you can safely ignore ams. 14:42:08 ASau: no wonder why you don' 14:42:11 t get along with people... 14:42:15 nwfie: only one of them, and even that one is written in C. 14:42:19 to grumpy about common lisp. =) 14:42:56 (i'm more of a maclisp person) 14:43:27 Still haven't grokked lexical binding? 14:43:53 ASau: i prefer dynamic scope, but then again, maclisp had lexical scope. 14:44:54 Yeah, and you like to invent r34ll1-c00l variable names to avoid clashes with other code. :D 14:45:06 why has common lisp followed the same fate as forth as an OS language? 14:45:14 ASau: not really. 14:45:28 Oh, you don't use closures! :D 14:45:41 ASau: sure i do. 14:45:45 clearly, you can't program lisp. 14:46:02 nwfie: common lisp is a commite language. 14:46:05 nwfie: hence why. 14:46:24 nwfie: because the specialised hardware died out, and it is easier to reuse others' code for operating systems. 14:46:33 nwfie: one simple example is the horrid pathname hacker in common lisp 14:46:43 hackery 14:47:11 nwfie: CL programmers can easily play with others, thing Forth programmers still can't understand. 14:47:30 true that 14:47:54 ASau: that's what I meant too. A language success depends on its backwards compatibility with legacy code... 14:48:14 nwfie: common lisp still works with maclisp code... even zeta lisp 14:48:26 nwfie: that's why there's OS-independent "pathname hackery" in CL, 14:48:39 and there's no access to directories in Forth. 14:49:06 Besides elementary wrappers around readdir(3). 14:50:07 Forth is for c00l h4ck3rs like ams believing that Forth 14:50:07 doesn't have syntax rather than feeling the need for design. 14:50:13 I was thinking about c -> c++ -> java as the trendy programming language chain 14:50:26 ASau: maybe you should stop the childish attacks 14:50:47 ams: maybe you'll grow up and read something about languages? 14:50:49 nwfie: C is as trendy as ever. 14:51:04 ASau: care to stop the ad hominem attacks? 14:51:08 nwfie: Java is dead, nowadays it is called "C#". 14:51:19 heh 14:51:19 ams: care to learn anything about languages? 14:51:45 You can start from something elementary. 14:51:46 ASau: i know far enough about languages, probobly more than you love, care to stop the personal abuse? 14:51:52 E.g. Chomsky hierarchy. 14:51:53 is it still the language in which most people write programs currently? 14:52:02 ASau: yes, chomsky is about languages... right. 14:52:44 ams: so, what do you write to conditional flow of operations? 14:53:10 nwfie: depends on what you mean with "programs", most people seem to be into the whole web thingy 14:53:13 ams: does "then ... else ... if ..." work? 14:53:32 ASau: you are evidently knowledgeable and however you seem to have a feud with ams... 14:53:55 ASau: please stop comparing syntax, with semantics. 14:54:07 ASau: they are quite different. 14:54:09 ams: it's syntax. 14:54:15 Semantics is execution. 14:54:22 ASau: chomsky's hierarchy is not about syntax. 14:54:33 in either case, i do not care for being abused. 14:54:41 maybe when you stop, we can have a sensible discussion 14:54:43 Yeah, grammar rules are not about syntax. :D 14:55:19 So, does "then operation1 else operation2 if condition" work? 14:55:42 nwfie: indeed, he/she seems knowledgeable. dunno whats his/hers problem is though... 14:55:59 are you an old acquaintance? 14:56:31 nwfie: never meet the person 14:56:50 : then ; : operation1 ; : else ; : operation2 ; : if ; : condition ; 14:56:53 yes. 14:56:55 it works. 14:57:04 Don't redefine context. 14:57:09 Does it work in default one? 14:57:33 ASau: see, that is why forth doesn't have syntax, context matters, with syntax you define the context. 14:58:01 ams: that means that grammar is essential context-dependent. 14:58:10 rather than context-free. 14:58:27 ASau: again, please stop confusing semantics, grammar, and syntax. 14:58:39 ams: again, please go and learn anything about languages. 14:58:52 ASau: i know enough about languages, thank you. 14:59:16 Again, answer the question, 14:59:26 ASau: i did. 14:59:31 without redefinitions, does "operation if condition" do the work? 14:59:45 ASau: i will not tolerate abuse, if you wish to continue insulting me, i suggest you find something else do do. 15:00:03 So, you can't answer elementary question about Forth. 15:00:08 Do you know Forth at all? 15:00:26 00:00 /ignore ASau 15:00:44 as i said, my ignore trigger can be easily triggered, i don't have time for your childish games, and insults. 15:01:16 nwfie: meet the real expert ignoring any arguments he can't stand. :D 15:02:19 but forth doesn't have a grammar, does it? 15:02:34 nwfie: no formal one. 15:02:47 nwfie: at least I don't remember any attempts to create it. 15:03:08 If you restrict the language a bit, 15:03:11 but is it feasible to define one? 15:03:26 nwfie: feasible implies that it is useful.. 15:03:26 I mean, can't you just redefine any word? 15:03:37 nwfie: you could do that, but then again why? 15:03:57 nwfie: the charm of forth is that you mold it to your task 15:04:00 afaiu syntax means the existence of keywords... 15:04:10 nwfie: no, that's wrong understanding. 15:04:31 nwfie: it's restricted to some class of languages. 15:04:35 is there any example of a language without syntax then? 15:04:45 nwfie: forth is one such language. 15:05:11 nwfie: you have to search in random sequences. 15:05:27 nwfie: Forth still has rules of composition for valid sentences. 15:06:13 you mean you can't use a word that hasn't been defined already? 15:06:29 No. 15:06:50 E.g. fire gforth and type the only word "if". 15:07:07 You'll see error message meaning that this expression was rejected. 15:07:18 but if can be redefined 15:07:22 That's because it is invalid sentence in the language. 15:07:32 Yes, it can be redefined. 15:07:34 nwfie: you can postpone a word in some forths 15:07:44 That's why the language is context-sensitive. 15:07:54 without having to use stubs ams ? 15:08:56 nwfie: Another your misconception is about key words. 15:08:56 nwfie: well, you have to use something... other wise you don't know what it is :-) 15:09:08 and you need to have something on the stack for any word that uses it. Would that be context as well? 15:09:19 nwfie: there're classical languages that have another interpretation of keywords. 15:09:38 nwfie: yes, that would be context as well. 15:11:09 we could say forth has predefined syntax but could end up without it because words can be redefined? 15:11:30 Yes. 15:11:37 nwfie: forth, if you ignore things like ans forth and what not, does not have syntax. 15:12:10 nwfie: again, you can safely ignore ams, he lacks any sign of understanding. 15:13:08 nwfie: take C, you cannot write a for loop in any other way than `for (;;) { }' 15:13:10 ASau: what do you think about common lisp CLOS? 15:13:23 nwfie: it works. 15:13:27 nwfie: that is syntax, in forth, you could write it like that, or you could write it in some other way 15:14:16 You like it then, ASau ? 15:14:16 #define FOREVER for (;;) 15:14:19 #define BEGIN { 15:14:21 nwfie: syntax means that things must be in some specific order, forth has no such order, it depends on the word, a specific word might have a syntax, but forth as such does not. 15:14:23 #define END } 15:14:27 yes, that's nice about forth ams 15:14:43 Now you can write loops in C like "FOREVER BEGIN do_this(); END" 15:14:48 the possibility to write control structures 15:15:13 Look! "C" has no syntax too! 15:15:14 i've got no clue what kind of garbage ASau is instilling in you, hopefully he isn't continuing his vile insults. 15:15:58 nwfie: you can take a look at e.g. Dragon Book and find where ams fails. 15:16:26 nwfie: that proves little to no understanding of programming languages. 15:17:45 can you write a function in c that controls the flow of a program without using one of the predefined keywords? 15:17:57 nwfie: no. 15:17:57 Yes. 15:18:10 nwfie: look at IOCCC winning entries for example. 15:19:06 nwfie: this is the proof that ams doesn't know C. 15:19:18 ASau: what do they use? 15:19:31 nwfie: machine code. 15:20:07 but then you're using a foreign language 15:20:19 ? 15:20:21 nwfie: no, you're using C and only it. 15:20:31 nwfie: what foreign language? 15:20:36 nwfie: look for example in IOCCC winning entries. 15:20:50 all messages from asau are filtered out for me, i'm guessing i'm missing something... 15:21:03 yes, ams 15:21:33 (any messages directed to ASau are also filteed out) 15:22:07 nwfie: I don't care, you can look around and see yourself who's right. 15:23:10 you're using c to call another language's feature. 15:23:11 ams is just another Forth lover who insists that Forth has to be unique. 15:23:37 nwfie: no, everything is in C. 15:23:48 and the machine code? 15:23:49 nwfie: anywho, no, you can't do what you suggest without using any kind of keyword.. 15:23:56 nwfie: and the machine code is in C. 15:24:16 (remeber, int is a keyword) 15:24:24 (wanna define a array of things? gotta use a keyword) 15:24:35 (wanna do anything? gotta use a keyword) 15:25:19 you can't define main without keywords, you cannot return (in valid c) without a keyword... guess what return is :-) 15:25:22 nwfie: obviously, ams is so proud of his knowledge that doesn't remember about C preprocessor :D 15:26:25 ASau: cpp can't compile to anything. 15:26:48 maybe you oughta stop confusing things. 15:26:56 Yeah, that's why "FOREVER BEGIN do_this(); END" is impossible in C :D 15:27:10 well, thanks to both of you for sharing your knowledge with me (too bad you can't get along better :) ) 15:27:16 ASau: gets expanded to syntax. 15:27:25 ASau: try: FOREVER do_this (); 15:27:38 ASau: good luck with that. 15:27:39 ams: try "0 if 1" 15:27:43 ams: good luck with that. 15:27:50 ASau: : if ; 0 if 1 15:27:57 seems to work lovley. 15:28:06 #define FOREVER for (;;) 15:28:07 #define BEGIN { 15:28:07 #define END } 15:28:15 ams: that works lovely :p 15:28:20 right, that isn't "FOREVER do_this (); 15:28:22 " 15:28:22 bye people :) 15:28:34 --- part: nwfie left #forth 15:28:44 back to ignore you go. 15:28:52 00:28 /ignore ASau 15:28:56 I'm fine with it, you clown. 17:18:11 --- part: rotty left #forth 18:23:51 --- join: Deformative (~Joseph@205-36.adsl.umnet.umich.edu) joined #forth 18:53:06 --- quit: Deformative (Ping timeout: 240 seconds) 18:55:20 --- join: Joseph (~Joseph@205-36.adsl.umnet.umich.edu) joined #forth 18:55:47 --- nick: Joseph -> Guest63577 19:15:52 --- join: Deformative (~Joseph@205-36.adsl.umnet.umich.edu) joined #forth 19:15:53 --- quit: Guest63577 (Read error: Connection reset by peer) 19:42:43 --- join: Joseph (~Joseph@205-36.adsl.umnet.umich.edu) joined #forth 19:43:09 --- nick: Joseph -> Guest68253 19:45:09 --- quit: Deformative (Ping timeout: 240 seconds) 21:36:09 --- quit: crc (Ping timeout: 252 seconds) 21:36:43 --- join: crc (~charlesch@184.77.185.20) joined #forth 21:37:56 --- join: Deformative (~Joseph@205-36.adsl.umnet.umich.edu) joined #forth 21:39:54 --- join: Joseph (~Joseph@205-36.adsl.umnet.umich.edu) joined #forth 21:40:21 --- nick: Joseph -> Guest65954 21:41:10 --- quit: Guest68253 (Ping timeout: 240 seconds) 21:43:05 --- quit: Deformative (Ping timeout: 265 seconds) 21:44:11 --- quit: Guest65954 (Ping timeout: 240 seconds) 21:44:49 --- quit: bakaboo (Read error: Connection reset by peer) 21:49:02 --- join: bakaboo (~bakaboo@62.72.185.55) joined #forth 21:54:35 --- quit: DocPlatypus (Quit: Leaving) 22:25:24 --- join: Joseph (~Joseph@205-36.adsl.umnet.umich.edu) joined #forth 22:25:51 --- nick: Joseph -> Guest58028 22:27:52 --- join: dinya_ (~Denis@92.255.128.235) joined #forth 22:28:19 --- quit: dinya_ (Read error: Connection reset by peer) 23:59:59 --- log: ended forth/10.09.20