00:00:00 --- log: started forth/13.10.31 00:38:40 --- quit: LinearInterpol (Read error: Connection timed out) 00:39:22 --- quit: Azel (Ping timeout: 246 seconds) 00:39:36 --- join: LinearInterpol (~RJones@cpe-76-179-150-229.maine.res.rr.com) joined #forth 02:38:19 --- quit: kludge` (Ping timeout: 245 seconds) 02:42:09 --- join: kludge` (~comet@unaffiliated/espiral) joined #forth 03:14:24 --- quit: ASau (Quit: reboot) 03:18:26 --- join: ASau (~user@p5083D6A9.dip0.t-ipconnect.de) joined #forth 03:47:47 --- quit: Anarch (Ping timeout: 240 seconds) 03:48:37 --- join: Anarch (~olaf@c-67-183-64-49.hsd1.wa.comcast.net) joined #forth 04:10:28 --- quit: LinearInterpol (Ping timeout: 256 seconds) 04:55:05 --- join: LinearInterpol (~RJones@169.244.180.190) joined #forth 04:57:11 --- quit: djinni (Read error: Connection reset by peer) 05:03:48 --- join: djinni (~djinni@li125-242.members.linode.com) joined #forth 05:08:15 --- quit: dys (Ping timeout: 264 seconds) 05:19:26 --- quit: Eth|cal (Ping timeout: 240 seconds) 05:43:26 --- quit: Bahman (Quit: Leaving.) 06:21:31 --- join: nighty^ (~nighty@lns-bzn-49f-62-147-170-46.adsl.proxad.net) joined #forth 06:37:41 --- join: Eth|cal (~sam@139.216.253.31) joined #forth 07:04:30 --- join: dys (~user@2a01:1e8:e100:8296:21a:4dff:fe4e:273a) joined #forth 07:09:24 --- quit: dys (Ping timeout: 264 seconds) 07:55:03 --- quit: ttmrichter (Ping timeout: 240 seconds) 07:56:33 --- join: ttmrichter (~ttmrichte@14.18.250.171) joined #forth 08:01:50 --- quit: ttmrichter (Ping timeout: 240 seconds) 08:14:36 --- join: ttmrichter (~ttmrichte@221.234.41.74) joined #forth 08:18:09 --- join: Chillectual (~RJones@WatchGuard.ellsworth-hs.ellsworth.k12.me.us) joined #forth 08:20:31 --- quit: ttmrichter (Ping timeout: 246 seconds) 08:21:42 --- quit: LinearInterpol (Ping timeout: 246 seconds) 08:34:03 --- join: ttmrichter (~ttmrichte@221.234.41.74) joined #forth 09:04:42 --- join: dys (~user@2a01:1e8:e100:8296:21a:4dff:fe4e:273a) joined #forth 09:24:41 --- quit: Chillectual (Ping timeout: 272 seconds) 09:44:32 --- join: segher (segher@bombadil.infradead.org) joined #forth 10:09:29 --- quit: ttmrichter (Ping timeout: 265 seconds) 10:10:33 --- join: LinearInterpol (~RJones@cpe-76-179-150-229.maine.res.rr.com) joined #forth 11:31:02 --- quit: kulp (*.net *.split) 11:45:29 --- join: kumul (~mool@adsl-64-237-233-101.prtc.net) joined #forth 11:57:45 --- join: epicmonkey (~epicmonke@188.134.41.116) joined #forth 12:06:24 --- quit: LinearInterpol (Ping timeout: 240 seconds) 12:08:42 --- quit: epicmonkey (Ping timeout: 272 seconds) 12:23:54 --- join: kulp (kulp@unaffiliated/kulp) joined #forth 12:30:20 --- quit: kumul (Ping timeout: 272 seconds) 12:30:46 --- join: kumul (~mool@adsl-64-237-234-52.prtc.net) joined #forth 12:38:08 --- join: Azel (~Azel@106.227.20.93.rev.sfr.net) joined #forth 13:20:54 --- quit: true-grue (Read error: Connection reset by peer) 13:39:59 --- quit: newcup (Ping timeout: 240 seconds) 13:50:43 --- quit: Azel (Ping timeout: 272 seconds) 14:03:55 --- quit: nighty^ (Quit: Disappears in a puff of smoke) 14:05:29 --- join: Azel (~Azel@106.227.20.93.rev.sfr.net) joined #forth 14:58:13 --- join: LinearInterpol (~RJones@cpe-76-179-150-229.maine.res.rr.com) joined #forth 15:19:44 --- quit: Azel (Read error: Operation timed out) 15:21:07 --- join: karswell (~user@87.114.85.91) joined #forth 15:35:11 Quiet 15:37:14 This place is usually dead. 15:42:19 nah 15:47:41 --- join: w0rm_x (~w0rm@client-86-23-109-164.brhm.adsl.virginm.net) joined #forth 15:48:41 Last time I have seen anything reasonable happening here was like ten years ago. 15:49:21 (And I can recognize only one name that goes back to those times.) 16:06:32 people here may not be as chatty as in other channels 16:06:49 but answered me when I asked 16:07:02 and within a reasonable time 16:07:30 I even had the oportunity to explain the origins of my nickname. 16:08:53 --- quit: w0rm_x (Quit: if Φ Σ e : φ then Φ Σ τ' → σ' :: ∃) 16:35:10 --- nick: LinearInterpol -> SpookyInterpol 17:23:51 --- join: w0rm_x (~w0rm@client-86-23-109-164.brhm.adsl.virginm.net) joined #forth 17:26:03 --- part: w0rm_x left #forth 17:36:45 define reasonable ASau 17:37:14 coming from you, i imagine a mass suicide happened 17:41:25 maybe that's why there are so few forth programmers left. :/ 17:46:14 that, and c can be used with all these huge ram and flash systems these days 17:46:44 there are few programmers because what is the point of learning forth when you can learn python,javascript,php ? 17:51:26 You know, I hang out in #learnprogramming quite a bit, and by far the most popular language with new people learning to program is c++. 17:52:25 it is supported and required everywhere. even if you dont want to use it you have to learn it. 17:52:34 oh hey! that channel i forgot about it 17:53:33 Now that I said that I can think of any number of reasons why c++ questions are so common in there. It could just be that people learning other languages ask in other channels or have fewer problems they can't figure out. :) 17:55:13 C++ is powerful enough while providing the same safety as C. 17:55:14 Or Forth. 17:55:35 But as for forth... There's really no marketing department, or anyone making an organized effort to teach it to new people. 17:56:26 I'm sure that there was an effort. 17:56:36 Like two or three decades ago. 17:56:51 From what I could tell it mostly spread by word of mouth early on. 17:56:51 The outcome is known. 17:57:32 i dont like bash nor should anybody ever use it. but you have to. its a standard on linux so you have to give in to the bastard shell. C++ is the same way 17:57:54 I saw a 'history of forth' article in one of those old scanned journals on forth.org I think. I wouldn't know where to find the link now though. :/ 17:58:41 I've never had to write a c++ program... 17:58:41 there are bash alternatives 17:58:52 In reality, some linux-based systems don't have bash by default. 17:59:26 I've written a couple little ones for fun... and i guess for homework in one class I took in college, but that's about it... 17:59:51 Well... If your job is to write in PHP, sure. :) 18:00:24 (shrug) 18:05:01 I think a forth dialect that put some restrictions on what you could do (and could catch mistakes when you stepped out of bounds) would be a lot easier to teach. 18:06:02 Something that could type-check stack comments, for example. 18:06:03 Try to imagine how you're going to implement such trivial thing as array. 18:06:45 bluekelp, not that i know of, there is only bash for bash 18:07:11 Once you get through introduction of special constructor, 18:07:17 then special indexing operation, 18:07:27 then special element reference type, 18:08:06 you'll find that you invent something like O'Caml byte code. 18:08:26 ASau, never said there wasnt, but most claims that shellscripts are "portable" arent. and that just makes me furious, especially when they call /bin/sh and they actually mean /bin/bash 18:09:05 kumul: you do remember Larry Wall's statement, don't you? 18:09:11 Sure its easily fixable, but its how often it happens thats the annoying part 18:09:22 nope, i've never read anything by him 18:09:25 what, the only statement he ever made? :) 18:09:42 He said once that it is easier to port shell than shell script. 18:10:28 you don't need to run bash - just have it avail for the scripts that require it. perhaps i misunderstood your complaint 18:10:30 even more so when they call gnu utilities and your system uses other ones 18:10:47 Sure. 18:11:42 The problem is that forces behind POSIX and SUS were either impotent, or backed by retrogrades, or both at the same time. 18:12:34 For instance, if you have ever read SUS or POSIX, you know that /bin/sh is not necessarily the standard shell. 18:13:06 This alone makes shell scripts non-portable without modification. 18:14:34 What is the standard shell then? 18:15:20 By what account? 18:15:24 POSIX? 18:15:29 sh is the standard shell. It was the first and the original. 18:15:50 Yes, sh is the standard shell. 18:15:54 But /bin/sh isn't. 18:16:11 True. 18:17:18 Usually though. 18:17:34 /bin/sh is a symbolic link to a compatible shell. 18:18:43 Or is the bourne shell itself. 18:19:04 This "usually" restricts you to only one system which isn't declared compliant. 18:19:51 So what, in your mind, would the compliant solutiom be? 18:19:55 At the same level I can say that "usually /bin/sh is binary that contains incompatible shell". 18:20:46 Because most shells have sh compatability.. 18:20:49 Last I checked. 18:20:50 What is funny that this is about system that is declared compatible by that standard body. 18:21:12 At least by TOG. 18:21:20 So you're saying POSIX is wrong. 18:22:05 I don't know what you mean when you say "POSIX is wrong". 18:22:15 most is not all. and even though they have compatibility. that is particularly wasteful and breaks the adage "do one thing and do it well" 18:23:31 POSIX is either silent or is explicit about /bin/sh not (necessarily) being the standard shell. 18:24:09 And this alone makes shell scripts non-portable without even minor modifications. 18:24:33 If you mean that POSIX is wrong about not requiring standard location for standard shell, 18:24:47 then I tend to agree, POSIX is wrong. 18:24:50 ^ 18:26:06 I don't like being forced into a standard shell though. 18:26:17 That's just my opinion. 18:26:39 So long as the shell chosen is compatible with sh, I see no problem treating it as a symlink. 18:27:18 It doesn't short me the functionality. 18:27:41 And if it does, I'll just remove the symlink and install sh. 18:27:46 The problem is more than standard shell being relatively incapable. 18:28:04 The standard shell is more than capable. 18:28:11 Yes, it is. 18:28:26 The problem is that you cannot rely on /bin/sh being the standard shell. 18:28:26 Unless you want all the fancy shmancy eye candy. 18:28:27 :P 18:28:32 Well, duh. 18:28:38 That's up to the user, and the user has that control 18:28:46 Which user? 18:28:56 Of any system you run a script on. 18:29:10 Well... 18:29:48 If you go that way then the standard shell is awfully deficient. 18:30:16 --- join: ttmrichter (~ttmrichte@221.234.41.74) joined #forth 18:30:40 For instance, you, as shell script author, cannot learn path to the standard shell, 18:30:57 and you have either to amend shell scripts to carry correct interpreter, 18:31:09 or you have to call shell explicitly. 18:31:14 The thing is, why would you care about /bin/sh being the standard shell, honestly. 18:31:23 If it is compatible, then you should have no issues. 18:31:24 Because it isn't. :) 18:31:29 And it isn't compatible. 18:31:32 or call env, and there is no standard path for that either 18:31:56 Rrrreally. Then why symlink it if it isn't compatible? 18:31:57 Calling env causes more problem than it fixes. 18:32:04 plus its not a good thing to call env to call shell 18:32:05 yeah 18:32:12 SpookyInterpol: pretty nobody symlinks /bin/sh. 18:32:24 all the systems I have used tell you that you're wrong. 18:32:24 I don't understand why you carry this argument. 18:32:52 freebsd's /bin/sh is not a symlink but the actual shell 18:33:00 Yeah. 18:33:07 FreeBSD is a BAMF though. 18:33:12 so I'm not surprised. 18:33:14 NetBSD, FreeBSD, OpenBSD, DragonFly, SunOS, all of them have /bin/sh as real binary. 18:33:44 Linux complies to LSB, a more lenient extension of POSIX. 18:33:58 If you want a pure or semi-pure POSIX system with everything in order, use one of the BSDs. 18:33:59 but if you ask me, i'd leave /bin/ to be symlinks of everything, that way we can solve the problem of "where the hell is the interpreter?" 18:34:00 Except that SunOS' /bin/sh is not compatible to POSIX. 18:34:06 BAMF? 18:34:13 Bad Ass Mother Fucker. 18:34:23 that ports tree rocks. 18:34:42 SpookyInterpol, the LSB... thats like saying linux is compliant to linux 18:34:44 FreeBSD is a little pussycat. Like a Bengal tiger. 18:35:11 I bet you use OS X. 18:35:19 Or NetBSD. 18:35:32 Actually I use PC-BSD in a VM. 18:35:33 he probably just uses oberon 18:35:35 kumul: Linux is compliant to Linux! :) 18:35:44 So, basically, FreeBSD. 18:36:03 Why insult your own OS? I'd understand if it was windows. 18:36:09 Ummm... 18:36:15 Insult? By calling it a Bengal tiger? 18:36:15 its the only way to use freebsd without having to compile everything 18:36:26 Insulting it by calling it a little pussycat. :P 18:36:40 kumul: not true. Binary packages are in good supply. 18:36:41 * tangentstorm also uses freebsd. 18:36:43 Oh, right, and I'm not sure that SUA's /bin/sh is symlink. :) 18:36:54 SpookyInterpol: A little pussycat ... LIKE A FREAKIN' BENGAL TIGER! 18:36:58 Irony, dude. Look it up. 18:37:09 * tangentstorm notes that the freebsd bootloader is a forth interpreter. 18:37:12 ^ 18:37:22 and thus why FreeBSD is a BAMF. 18:37:36 and I can make fun of my perl-programming co-worker who denounces concatenative languages. 18:37:48 Loads of bootloaders are Forth interpreters. It's just the Wintel environment that considers this unusual. 18:38:47 Except FICL is rather bad Forth implementation. 18:40:15 i don't know much about them ... i just happened to wind up in it one day and noticed it was giving me an OK prompt... and started typing stuff... AFAIK grub from linux doesn't do that. 18:40:39 You can get into GRUB prompt. 18:40:41 then again i didn't know my old ppc mac had open firmware either until someone mentioned it one day. 18:40:42 ^ 18:40:52 is the grub prompt a forth? 18:40:56 Or could until they started deploying GRUB2. 18:41:14 last I recal, no. GRUB prompt isn't a forth. 18:41:34 *recall 18:41:51 No, it isn't. 18:41:52 yeah i don't think it is either. 18:42:07 it's BASH-like. 18:42:07 But if you want prompt, it could be there. :) 18:42:58 It's uglier than that even. 18:43:07 i don't want a prompt, i was just vaguely nudging the conversation back in the direction of forth. :) 18:44:31 tangentstorm, didnt they get rid of that or werent they about to? 18:45:54 apple, you mean? i think intel macs have a different bootloader. AFAIK they only used openfirmware for ppc. 18:46:30 SpookyInterpol, i have tried binary packages... they arent a good idea to have, it installs a lot of dependencies 18:46:42 tangentstorm, i meant freebsd 18:46:50 they were writing a replacement 18:46:56 meh, it's worth it if you don't want to compile things. 18:47:04 kumul: oh. i have no idea. 18:47:04 actually nevermind 18:48:04 You have the choice: either you build your packages yourself or you use pre-built packages. 18:48:19 In the first case you have control on what you build. 18:48:49 Personally, I build packages myself. 18:49:53 Ironically, Forth packages are among annoying ones, due to various compiler tricks or XSLT generation with an inappropriate tools. 18:55:35 although a bad implementation ficl is quite fast 18:56:36 i do know i have choice but given my current machine i find it annoying to build packages. too much waiting 19:02:59 Build them in jail in background. 19:03:09 I do it like that. 19:03:48 Though I don't know if FreeBSD created anything for restricted bulk builds. 19:04:14 And they had awful support for creation of binary packages when I stopped using ports on FreeBSD. 19:13:53 ok then, guess ill try that later, thanks 19:15:22 /c 19:18:10 --- join: ASau` (~user@p5083D5C4.dip0.t-ipconnect.de) joined #forth 19:21:04 --- quit: ASau (Ping timeout: 246 seconds) 19:21:43 --- nick: ASau` -> ASau 19:32:55 tangentstorm: really? is freebsd's bootloader openboot? 19:36:09 No. 19:36:28 It isn't OpenBoot, it is some old FICL hacked to implement boot loader. 19:43:11 okay so what did you do now for living ? ASau 19:43:27 Programming. 19:43:58 --- quit: kumul (Ping timeout: 264 seconds) 19:44:01 using cpp? 19:44:04 or java? 19:44:33 --- join: kumul (~mool@65-23-222-105.prtc.net) joined #forth 19:50:02 Mainly C++, but I consult Java since its library is designed much better. 19:54:02 i dislike cpp , and i could accept jvm now 19:55:03 the interesting part is does the old programmer still coding in company or just managing other younger programmer to code? 19:55:41 --- quit: SpookyInterpol (Ping timeout: 272 seconds) 19:58:35 Coding is one of the easiest things in software development. 20:00:18 of cause, but that's just my interesting to know it 20:04:56 I know people who still code even though they don't have to. 20:05:50 are they in web domain or tranditonal domains 20:06:01 I don't understand it. 20:06:20 Web programming isn't easier than GUI programming. 20:07:06 i am not saying its easy 20:07:16 i just feel it full of youngers 20:07:45 Entry barrier is perceived as low. 20:07:47 --- quit: jevin (Read error: Operation timed out) 20:07:49 That's the explanation. 20:07:59 To some extent it is true. 20:08:29 You can start from some auxilliary things, 20:08:41 but in some domains like maintaining those system softwares, it seems there're many elders 20:08:45 like introducing changes into some rarely used tool with www interface. 20:09:06 Maintaince work is HARD. 20:09:40 And it is boring. 20:10:00 yes 20:10:09 Plus, it requires some experience to get it done correctly. 20:10:10 and i think its not that open 20:10:54 Thus, I'm not surprised if there exist some unofficial age census. 20:12:05 --- join: jevin (~jevin@72.12.217.220) joined #forth 20:12:47 I have seen some "senior developers" who have never entered deployment phase of a project, let alone maintainance. 20:14:42 so how they could improve the producing? 20:15:26 Why do you think that they improved anything? 20:15:28 --- join: kumool (~mool@65-23-222-105.prtc.net) joined #forth 20:18:25 maybe i am too young and naive :] 20:19:01 btw. why obamacare downs? this remind me our chinese train tickets site 20:19:16 --- quit: kumul (Ping timeout: 265 seconds) 20:22:59 If you're in early twenties or younger, it's fine. 20:23:37 If you're close to thirty, well... That sounds a bit worrying. 20:24:07 well i need worring :[ 20:54:08 /c 20:54:45 --- join: noneofmynickswor (mool@65-23-222-105.prtc.net) joined #forth 20:58:33 --- quit: kumool (Ping timeout: 256 seconds) 20:58:35 --- join: kumul (~mool@65.23.222.105) joined #forth 20:59:29 --- quit: noneofmynickswor (Ping timeout: 260 seconds) 21:07:11 tangentstorm: can you explain LIT words to me extractly? i need much more details 21:08:52 What's wrong with "lit"? 21:09:22 i want to know how it works 21:09:44 Well... I mean what's unclear, it is clear what is wrong with it... 21:09:46 because i am not good at english, the brief intro on dpans means nothing to me 21:09:49 It works like this: 21:10:13 in classic ITC, 21:10:27 when inner interpreter has entered "lit", 21:10:44 top of return stack contains address of saved literal. 21:11:19 Thus, you get this address, amend it to point _after_ that literal and push back, 21:11:21 so that you know where to return. 21:11:35 And you use that address to fetch saved literal from memory. 21:11:48 : lit r> dup cell+ >r @ ; 21:12:14 what is saved literal? 21:12:18 Assuming that you have code and data in the same segment, direct addresses, classic ITC, and all that. 21:12:39 "lit" is used to introduce numeric literals. 21:13:02 When you write this: 21:13:05 : test 666 ; 21:13:35 You need to store 666 in some way, so that you can put it on stack. 21:13:52 In ITC code for "test" looks like 21:14:07 docol lit 666 ;s 21:14:26 "docol" does all the stuff so that inner interpreter could interpret all the rest, 21:14:34 "lit" does what is described above, 21:14:46 "666" is the literal value, 21:15:03 ";s" is subroutine exit. 21:15:09 so test would use `lit` to fetch the address the word `666` and then execute it? 21:15:57 jyf: if you look at ram, everything is a number. so maybe the number 5 maps to the instruction '+' ... but then how do you refer to the number 5? you need an "escape" or "quoting" mechanism. LIT 5 lets you say 5 the way ' \" ' lets you put double quotes in a string in most languages since C. 21:15:58 Unclear. 21:17:50 tangentstorm: so its just prevent interpreter to executing the follow command? 21:18:07 instead just put it to data stack? 21:19:00 basically. 21:19:01 No. 21:19:45 It is to prevent execution of "666" _and_ putting "666" onto stack _and_ making inner interpreter execute next command. 21:19:58 then which location do you say follow? does it fetch the follow command from your input buffer or from other place 21:21:01 We're talking about inner interpreter here. 21:21:23 Outer interpreter has finished working at this point. 21:21:39 Outer interpreter has completed its work at this point. 21:22:02 "test" has been compiled, and now you call it. 21:22:36 ASau: the inner interpreter acts like compiler in modern concepts, right? 21:22:41 No. 21:22:51 Inner interpreter is interpreter of ITC. 21:23:28 got it, so it wont read from input buffer. 21:23:28 It is analogous to interpreter of machine code (e.g. CPU) or byte code (e.g. JVM). 21:23:42 its just read from its own words sequence? 21:23:47 Yes. 21:23:53 okay, i got it 21:24:04 then how people use lit for? 21:24:13 They don't use "lit". 21:24:25 People use "literal" or just write numeric literals. 21:24:27 but i see lit usage sample in retro's kernel 21:24:55 it seems crc use lit 123 for put number value to datastack 21:25:04 I have seen 10 major versions of Retro... 21:26:51 Do you know C? 21:26:59 yes i know some 21:27:19 you want to tell me lit means * to the next words? 21:27:41 I suggest that you look at pForth or apForth. 21:27:53 What you want is in the file csrc/pf_inner.c 21:28:08 and you want to read the code under label ID_LITERAL_P 21:28:26 i need a tiny project to read 21:28:36 pForth is really tiny. 21:28:53 ...Plus dispatching loop and switch. 21:29:17 This is simpler than to understand sort of inversion of control employed by machine-coded inner interpreters. 21:30:55 ok will try to read that 21:31:01 Another alternative is to read about SECD. 21:31:08 secd? 21:31:14 Look it up. 21:31:33 Because what ITC Forth interpreters do is some sort of encoding of SECD machine. 21:31:42 jyf: retro != forth 21:31:54 tangentstorm: oops 21:32:51 Besides, learning about SECD machine has its own merits. 21:33:23 will try, i recently got a chance to work from home 21:33:29 so got more spare time 21:33:43 i want to take this for improving myself 21:40:13 --- quit: kumul (Read error: Connection reset by peer) 21:40:41 --- join: kumul (~mool@65-23-222-105.prtc.net) joined #forth 21:43:56 --- quit: kumul (Read error: Connection reset by peer) 21:45:24 --- join: kumul (~mool@65-23-222-105.prtc.net) joined #forth 22:04:03 --- quit: kumul (Read error: Connection reset by peer) 22:04:34 --- join: kumul (~mool@65-23-222-105.prtc.net) joined #forth 22:09:53 ASau: pforth require c89 which my gcc dont support that 22:10:50 pForth indeed does something strange. 22:10:53 Use apForth. 22:11:12 You'll have some fixes and improvements in addition to that. 22:11:42 ok i remove that flags and compiling passed 22:12:02 so apForth is based on that? 22:13:59 Yes. 22:14:15 the last release of apforth is 2013-05-13 , so its still under developing 22:15:06 * ASau can make releases any time he wishes. 22:36:38 --- quit: kumul (Quit: Leaving) 23:40:20 --- join: ttmrichter_ (~ttmrichte@60.55.9.23) joined #forth 23:43:00 --- quit: ttmrichter (Ping timeout: 246 seconds) 23:43:12 --- nick: ttmrichter_ -> ttmrichter 23:59:59 --- log: ended forth/13.10.31