00:00:00 --- log: started forth/11.07.15 00:26:46 --- join: qFox (~peter@5352689F.cm-6-3b.dynamic.ziggo.nl) joined #forth 00:50:54 --- join: jyf1978 (~jyf@unaffiliated/yunfan) joined #forth 00:51:07 anyone use retro? 01:02:18 --- join: Fox78 (~fox@123.118.155.160) joined #forth 01:02:29 Fox78: ] 01:05:19 jyf1978, :) 01:08:24 jyf1978: besides its author? 01:12:46 ASau```: just want to know how to run the example err 01:14:04 jyf1978: the general rule is that if you don't understand it, you'd better stay away from Forth. 01:16:16 ASau```: i am learning forth 01:16:43 ASau```: but retro's example includes an editor which i am very insterested in 01:17:09 so i want to see what it works like 01:35:19 vibe? 01:38:20 what? 01:39:18 Which editor? VIBE? 01:46:06 ASau```: its an sourse file in the retro's release archive 01:46:26 ASau```: and its location is ROOT/example/editor.rx 01:47:01 http://s3.retroforth.org/download/10.x/retro-10.7.6.tar.gz ASau``` check this 01:48:16 This isn't VIBE, but it is definitly in that style. 01:49:05 It is rather clear. 01:49:34 I'd say that if you don't understand programming, you should stay away from Forth. 01:49:45 i got it , its my fault , they have show user how to let it works in the documents 01:50:15 Retro is influenced by Smalltalk to some extent. 01:50:23 E.g. "ifTrue". 01:50:37 And anonymous blocks. 01:50:48 btw, another question 01:51:16 a typical forth cmd may looks like this, data1 data2 data3 ACT 01:51:48 if i or my user put huge of datas , will it make the intepreter crash? 01:52:18 It depends on interpreter. 01:52:22 Most Forths put some kind of stack overflow or underflow guard in place. 01:52:43 I'd say that it is exactly the other way. 01:52:53 Most Forths don't protect. 01:52:57 i mean in lisp you need to first put ACT so interpreter will know how many data it will require 01:53:29 but seems it require more description on the CMD 01:54:04 No, this is wrong. 01:54:14 * ttmrichter boggles. 01:54:18 OK, I'm a Lisp interpreter. 01:54:20 I see (+ 01:54:20 Prefix and postfix notations are completely equivalent. 01:54:27 How many parameters are going to come in now? 01:54:35 (Hint: it's not necessarily two...) 01:54:43 If you're interpreter, you see the whole least. 01:54:44 list. 01:54:56 And the reader doesn't interpret. 01:55:04 It only constructs S-expressions. 01:55:47 so i need to protect the data by my self? or depend on my forth interpreter's overflow? 01:55:58 Depend on your Forth. 01:56:06 And S-expressions carry their length as a term? 01:56:30 Or are they ... just a pointer to a piece of data and a pointer to the next piece where you don't know the end until you've reached it? 01:56:36 You can implement them like that. 01:56:57 (At least there's no obvious reason why you can't.) 01:57:10 You can implement them like that if you're really heavily into Schlemiel the Painter-style algorithms. 01:57:21 You can introduce another stack and write exactly what you do in Lisp: 01:57:24 But I'm not sure I've ever seen a Lisp that DOES implement them like that. 01:57:27 ( 1 2 3 ) + 01:57:33 Actually, I am sure. :) 01:58:58 recently i have readed the book "hackers & painters" , the author, PG, recomment using lisp to wrote web 01:59:14 And if you have fixed arity and one "name space" for operations in Lisp, 01:59:14 you can write without parentheses there too. 01:59:19 can forth do this things? o 01:59:31 or do you recomment to using forth do this 01:59:45 Forth can do anything a Lisp can do within the bounds of physical restrictions of the machine it's on. 01:59:53 They're both Turing-complete languages. 02:00:00 jyf1978: programming languages are just like guns, 02:00:08 Recommending is a different affair. 02:00:08 jyf1978: guns don't kill people. 02:00:21 ASau```: yes i know that it can do, but do you guys recomment people to do 02:00:37 I don't. 02:00:37 I would recommend neither Lisp NOR Forth for web programming unless you're really gung-ho. 02:00:45 ttmrichter: like you , you have use erlang to do something 02:01:10 Neither of them really has a tool base to support web programming. 02:01:38 jyf1978: if you happen to have anything to deal with XML, 02:01:38 it does almost no matter which language to use. 02:01:38 i am using python currently for wroting web, but the requirement changes everyday 02:01:42 So you'd be inventing everything from scratch, including all the sharp edges you have to watch for and all the security problems that are solved in other environments, even if the language itself is inferior. 02:01:49 so i remembered forth :] 02:02:04 Web programming is a MASSIVE kludge with a lot of impedance mismatch. 02:02:20 jyf1978: Lisp has enormous code base to support web programming, Forth doesn't. 02:02:23 It's a semi-solved problem, however, in some spheres. Forth and Lisp are not among those spheres. 02:02:54 ASau```: got it 02:02:57 Enormous ... Lisp web programming? Never heard those words put together before. 02:03:06 jyf1978: if you happen to invent at least XML processing, you're almost there, just imitate Lisp approach. 02:03:25 ttmrichter: redit.com which is written in lisp and open sourced 02:03:54 Anyway, I'm leaving. Good luck in your enterprises. 02:04:07 ASau```: see you 02:04:45 ttmrichter: so is there any db which can be used by forth? 02:05:18 One application isn't exactly "an enormous code base", jyf1978. 02:05:51 Hell, Java, as fugly a language as it is, has at least a dozen web frameworks available in open source alone. 02:06:02 Some of them are even (barely) tolerable. 02:06:29 Now as to databases and Forth, that would, again, depend on your Forth. 02:06:54 I'm sure some Forth somewhere has a binding to some DB or other. 02:07:19 My own use of Forth, however, has been in embedded work where we didn't do databases. 02:08:07 ttmrichter: its just the requirement changes very quickly in web programming , so i need an language can quick changes some act while dont need to change very much code,, i just know lisp and forth has this features 02:09:22 I'm checking gforth right now to see if it has a database binding. 02:09:37 Any of the modern dynamic languages will do that fine. 02:10:02 ttmrichter: ok, find its default to find some knowledge for forth in google, because it considered forth as 4th :] 02:10:48 OK, GForth has an FFI that lets you bind to any C program, so presumably you can bind to the MySQL or PostgreSQL or whatever APIs. 02:11:05 http://www.complang.tuwien.ac.at/forth/gforth/Docs-html/C-Interface.html#C-Interface 02:11:14 For details. 02:11:16 that's great, so it can even bind to libev 02:11:36 Possible. Check out the FFI to see if it supports everything you need. 02:11:37 ttmrichter: thanks very much 02:12:21 ttmrichter: and btw, are you in xiamen now? 02:12:44 No. I'll be in Xiamen probably next week. 02:13:14 ttmrichter: so you are still in wuhan? 02:13:24 Yep. 02:13:45 ttmrichter: have you tried to boating in wuhan in the past month :] cause it has been an sea 02:14:02 Nah, that's a bit overblown. 02:14:17 It's only been a sea on the really rainy days plus a day or two afterward. 02:14:29 yep 02:14:31 On those days it's been actually just a very wide river, really. :) 02:14:47 Luckily I live nowhere near where the water runs. 02:14:52 I had a problem one day only. 02:15:13 i have saw many picures about this ,and after about 1 weeks beijing also became sea 02:15:19 I had to get to class during one of the cloudbursts and the basketball court was about four inches deep in water in the SHALLOW parts. 02:15:32 But that was gone by the time class ended two hours later. 02:17:23 ttmrichter: and in forth is there concept about traditional algrorithm and data struct? 02:20:50 Sure. Implementing some of them could be a trial, but it's all doable. 03:22:55 There're at least three major web frameworks in CL. 03:23:02 Plus few in Scheme. 03:27:57 DGASAU: do they generate html in cl code? i dont like them create html tag in backend 03:28:37 jyf1978: sure. 03:28:51 But usual way is to generate SXML or LHTML. 03:29:33 The last part is elaborated very well. 03:29:57 I mean SXML->XHTML and LHTML->(X?)HTML conversion. 03:30:39 DGASAU: nope , usually we generate an data and render it to html by another render system 03:31:51 Hm. 03:32:11 I agree that there're more than 5 different ways to do it. 03:32:44 I worked with XSL-FO more than with HTML. 03:33:10 But we ended working with SXML. 03:33:32 Conversion part isn't trivial, but it is the easiest part of the project. 03:33:47 "was" 03:56:31 DGASAU: so which is the easiest part of the project now 03:57:21 Last time I heard, they killed that project. 03:57:23 ? 03:57:50 DGASAU: wow 04:01:50 Don't be so surprised. 75% of software projects are considered failures by the people who make them. 04:02:01 When you consider the end-users, that number probably jumps into the high nineties. 04:02:29 (That particular project was killed due to lack of funding.) 04:06:40 i am consider to use forth code as an communication protocol 04:09:41 * DGASAU wouldn't do that. 04:28:37 jyf1978: did you figure out the editor? 04:29:12 crcx: of course its powerfull :] 04:29:28 crcx: in so less code and so low level :] , i'd like it 04:35:50 good :) 04:36:50 ASau``` is correct in that it was inspired by kc5tja's vibe editor 04:38:23 crcx: so you are the author of retro? or just the example code? 04:38:46 I'm the main developer of retro 04:39:43 crcx: good , i have saw it has socket support , is it? 04:39:46 --- quit: koisoke (Ping timeout: 246 seconds) 04:39:51 --- join: koisoke (xef4@epilogue.org) joined #forth 04:40:07 the 10.x releases have socket support, 11.x does not 04:47:51 crcx: why you reduce that feature? 04:48:16 You don't need sockets always. 04:48:56 so when i want to use it, how can i enable the feature? 04:49:03 the implementation was just a wrapper over the bsd sockets interface. I didn't use it, and it wasn't supported by any of the vm implementations except C 04:50:17 crcx: then i have just download the android version of retro, is it an native version or just send the cmd to server behind the network? 04:51:59 the android version does not use the network at all; it runs entirely on your device 04:52:59 crcx: ok , then how can i input the code? i have an htc g7, which dont have keyboard 04:53:39 there's a text area at the bottom left, next to the new/save/load buttons. tap that and the virtual keyboard should come up 04:54:56 crcx: i think i cant agree with you, i have turn-off the network of my g7, and now when i start the app, it raise me an Application Error, which describe it couldnt load the address http://rx-core.org/docs/Core_Functions.html 04:55:48 that should be fixed in the latest version 04:56:29 try http://retroforth.in/android/retro.apk or the market version at https://market.android.com/details?id=com.forthworks.retro 04:57:09 crcx: will have a try 05:08:12 for sockets, you can use this vm: http://sprunge.us/FBKh and this vocabulary: http://sprunge.us/BjPY 05:26:31 better yet: http://rx-core.org/temp/sock.tar.gz, which has the image, vocabulary, and examples ported from retro10 to retro11. works under my 32-bit linux install. 05:28:23 --- quit: jyf1978 (Quit: Leaving.) 05:30:00 --- join: roarde (~roarde@pdpc/supporter/active/roarde) joined #forth 05:38:07 --- quit: roarde (Quit: Leaving) 05:39:04 --- join: nighty^ (~nighty@TOROON12-1279662182.sdsl.bell.ca) joined #forth 06:09:31 --- quit: Fox78 (Read error: Connection reset by peer) 07:01:29 --- quit: crcx (Read error: Operation timed out) 07:14:44 --- join: crcx (u2647@gateway/web/irccloud.com/x-hocjxixnjsdtygno) joined #forth 07:33:49 --- join: freakazoid (~seanl@c-67-164-106-36.hsd1.ca.comcast.net) joined #forth 08:49:10 --- quit: Snoopy_1611 () 08:50:56 --- quit: Deformative (Ping timeout: 252 seconds) 09:37:46 --- quit: freakazoid (Quit: Computer has gone to sleep.) 10:39:55 --- quit: ttmrichter (Quit: No wonder these puppets are always in a lousy mood.) 10:42:13 --- join: xpololz (~xpololz@50.80-203-124.nextgentel.com) joined #forth 10:47:17 --- join: freakazoid (~seanl@66.220.144.73) joined #forth 12:28:13 --- quit: nighty^ (Ping timeout: 255 seconds) 12:58:05 --- join: freakazo_ (~seanl@66.220.144.73) joined #forth 12:58:10 --- quit: freakazoid (Ping timeout: 258 seconds) 12:58:10 --- nick: freakazo_ -> freakazoid 13:12:33 --- quit: freakazoid (Quit: Computer has gone to sleep.) 13:57:03 --- join: freakazoid (~seanl@66.220.144.73) joined #forth 15:01:43 --- quit: freakazoid (Read error: Connection reset by peer) 15:02:18 --- join: freakazoid (~seanl@66.220.144.73) joined #forth 15:18:15 --- quit: qFox (Read error: Operation timed out) 15:44:49 --- join: nighty^ (~nighty@74.198.9.231) joined #forth 16:14:15 --- join: Fox78 (~fox@123.118.152.2) joined #forth 16:34:14 --- quit: nighty^ (Ping timeout: 255 seconds) 16:34:15 --- quit: DGASAU (Ping timeout: 258 seconds) 16:37:30 --- join: DGASAU (~user@91.218.144.129) joined #forth 16:53:17 --- join: Deformative (~Joseph@cpe-98-155-76-109.san.res.rr.com) joined #forth 17:48:38 --- join: ttmrichter (~ttmrichte@111.174.89.190) joined #forth 18:15:11 --- join: nighty^ (~nighty@74.198.9.163) joined #forth 19:42:42 --- quit: nighty^ (Ping timeout: 255 seconds) 20:26:14 --- quit: freakazoid (Ping timeout: 240 seconds) 21:23:09 --- join: freakazoid (~seanl@c-67-164-106-36.hsd1.ca.comcast.net) joined #forth 22:25:58 --- quit: Deformative (Ping timeout: 255 seconds) 23:59:59 --- log: ended forth/11.07.15