00:00:00 --- log: started forth/17.04.10 00:10:58 --- join: gravicappa (~gravicapp@ppp83-237-162-195.pppoe.mtu-net.ru) joined #forth 01:01:52 --- join: Bahman_ (~Bahman@88.247.101.164) joined #forth 01:12:36 another version, that allows to use indexes values : http://pastecode.ru/1dd52e/ 01:24:36 --- join: John[Lisbeth] (~user@2601:601:8f01:a6a0:b879:81d2:b9a0:cfdd) joined #forth 01:24:44 so do any of you guys know chuck moore? 01:24:57 I want to try to talk to him before he dies 01:25:34 John[Lisbeth]: your best bet is to watch his talks and read his books 01:28:26 I have to meet him because I have to find out if I understand how he thinks forth is written 01:28:45 o 01:28:49 m 01:28:50 g 01:28:51 The idea I got in my head is I think exactly how he says forth should be written, even though I don't always write that way 01:28:52 (sorry) 01:29:04 You could read the colorforth source code to get a good idea 01:29:10 He claims that most people do not know how forth should be written 01:29:18 that you can reduce most things away 01:29:39 John[Lisbeth]: the world is not black and white 01:29:49 certainly not 01:45:10 My point is that apparently many programmers who come to him do not know how to use forth according to him 01:45:18 I think I know exactly how he thinks forth should be used 01:46:16 believe me, he is not the only one knowing some secret.. 01:46:34 just write a lot of Forth and you'll get it eventually 01:52:28 I think that I already do though is what I mean 01:52:39 but I disagree with him on one key point 01:52:47 share some code with us John, if you like 01:53:01 lol is there a bot in here? 01:53:27 you know to show code with? 01:53:39 use http://pastebin.ca/ 01:53:48 lol seems like a slow process 01:53:53 what if I made a bot 01:54:07 it's fast. you just paste the code and you get a URL 01:54:13 so you can show us 01:54:15 no there are many steps inbetween 01:54:18 --- quit: dys (Read error: Connection reset by peer) 01:54:22 haha 01:54:28 look 01:54:30 the main problem is I do not have a good way to save my code for later 01:54:37 I don't like how it all gets dumped in the gforth config 01:54:59 you keep on talking about abstract ideas, but I haven't seen a single line of code from you 01:55:11 dude you don't know how to use pastebin and you claim that you know some big secrets? 01:55:54 2 2 + 4 = : true? if ." true" else ." false" then ; cr true? cr 01:57:10 oh wow 01:57:25 I was expecting a bit more than Hello World! 01:58:01 : add-two { x -- x 2 + } x 2 + ; : add-four { x -- x 4 + } add-two add-two ; 01:58:35 ok, but these are the code you write in the first hour of learning Forth 01:58:43 true 01:59:52 The above equation demonstrates my understanding of concatenative programming 02:00:57 no, it doesn't. it just shows you spent an hour learning Forth 02:01:06 understanding comes much later 02:01:17 I fully understand the concept of concatenative programming 02:01:27 ok 02:01:53 by concatenativing x add-two add-two I have written a concatenative program 02:02:18 you'll have to write much more complex programs to really understand Forth 02:02:25 (or any other language for that matter) 02:02:28 I understand forth fully my good man 02:02:36 I simply do not know all the words that come with ans forth 02:02:48 --- quit: Bahman_ (Ping timeout: 252 seconds) 02:02:49 there is a difference between understanding forth and understanding ans forth 02:03:18 even ans forth is no mystery I just have not implented my environment yet 02:03:31 I need to build my datastructures first 02:03:42 as the datastructures are needed to build everything else 02:03:53 I mean people would be much more helpful if you had an actual problem to solve 02:04:01 as opposed to theoretical questions 02:04:13 My problem I was trying ot solve is already solved. It is forth or lisp 02:04:25 Moore solved it many years before I was born 02:04:47 and I just copied his solution and now its mine 02:05:56 I come on here just because I like to discuss that solution 02:06:03 and because I plan to kickstart forth into the millenial generation 02:06:09 my plan is already slowly starting to work 02:07:38 All I have to do is bootstrap ontop of forth and make it into a language sorta like c 02:07:47 but make it still be forth entirely 02:26:27 --- quit: smokeink (Ping timeout: 252 seconds) 02:29:37 --- join: smokeink (~smokeink@120.192.84.39) joined #forth 02:30:58 --- join: Bahman_ (~Bahman@88.247.101.164) joined #forth 02:41:34 --- quit: proteusguy (Remote host closed the connection) 03:01:35 --- quit: nighty-- (Quit: Disappears in a puff of smoke) 03:21:55 --- join: GeDaMo (~GeDaMo@212.225.127.213) joined #forth 03:49:36 --- join: nighty-- (~nighty@s229123.ppp.asahi-net.or.jp) joined #forth 04:10:44 John[Lisbeth]: why the use of a local variable in add-two? 04:36:22 --- join: vsg1990 (~vsg1990@static-72-88-80-103.bflony.fios.verizon.net) joined #forth 04:38:46 his problem is weed, z0d. you can't help him 05:02:15 --- join: ricky_ricardo (~quassel@2601:240:4203:ecb0:c1f6:e63f:a5cb:5bfd) joined #forth 05:07:15 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 05:29:51 --- quit: Bahman_ (Ping timeout: 260 seconds) 05:33:44 --- quit: Zarutian (Quit: Zarutian) 05:40:04 --- quit: ricky_ricardo (Read error: Connection reset by peer) 05:55:27 --- join: ACE_Recliner (~ACE_Recli@c-50-165-178-74.hsd1.in.comcast.net) joined #forth 06:16:05 --- join: Bahman (~Bahman@88.247.101.164) joined #forth 06:28:15 --- quit: John[Lisbeth] (Ping timeout: 255 seconds) 06:41:27 --- quit: ACE_Recliner (Remote host closed the connection) 06:52:07 is there any predefined word that can print a number to the terminal with a specified size (and pad with spaces if the number of digits < size) ? 06:53:29 there's a section in the gforth manual called "formatted numeric output" that sounds like what you're looking for, most of the words in there should also be in win32forth 06:54:09 see s# 06:54:22 Oops, misfenestration :P 07:06:44 checked #S and it's friends up in the manual but couldn't find the function i need, i'll try to implement it myself 07:10:53 I remember that I found function like this (if I understand you right) early in some sort of "learn forth" books, will try to recall it 07:11:53 --- join: true-grue (~true-grue@176.14.222.10) joined #forth 07:12:16 i looked in Starting Forth but with no luck 07:12:21 smokeink: I just wrote this : ?#s ( ud1 n -- ) 0 do 2dup or if # else bl hold then loop ; 07:12:21 42 emit 1234 s>d <# 12 ?#s #> type 42 emit * 1234* ok 07:14:09 * 1234* is the output, padded to 12 spaces 07:14:55 something like this? https://rosettacode.org/wiki/Formatted_numeric_output#Forth 07:15:11 nice GeDaMo 07:16:14 nerfur: yeah 07:21:30 GeDaMo is your nickname in Chinese ? 07:23:17 Not that I know of :| 07:23:35 haha, ok 07:26:36 the three syllables look /sound like chinese sounds.. ge,da , mo... and DaMo is the Chinese for 'Bodhidharma' (the well known black zen master from India who brought buddhism to China) or for 'dharma' 07:27:11 It's a lossy compression of my full name :P 07:27:33 hey mine too 07:27:44 approximately 100% loss though 07:33:58 is whitespace then lossy ultrahigh compression of every full name in world? :-D 07:34:31 no. nothing is the ultrahigh compression 07:34:58 whitespace is excessive 07:39:57 --- join: bedah (~bedah@2a02:810d:243f:f584:8c4a:e992:9970:ad4e) joined #forth 07:51:48 --- join: neceve (~ncv@86.125.247.109) joined #forth 07:51:48 --- quit: neceve (Changing host) 07:51:48 --- join: neceve (~ncv@unaffiliated/neceve) joined #forth 07:52:36 --- quit: Bahman (Ping timeout: 252 seconds) 08:37:58 is there any way to override # ? i'd like to display 'e' when digit 1 is encountered , 'a' when 2 is encountered, and 'b' when 3 is encountered , can this be done ? 08:41:12 You can redefine any word 08:42:03 Note that redefining it won't replace previous uses of it (in traditional Forth) 08:43:04 see # <- it displays assembly code, that's what scared me a bit, cuz i don't know #'s mechanism 08:43:04 E.g. : a ... ; : b ... a ... ; : a ... ; b will continue to use the original a, only new definitions will use the new a 08:43:16 ok 08:45:09 # generates one digit and uses hold to add it to the formatted output 08:47:09 : # 08:47:09 useraddr <112> @ ud/mod rot 9 over < 08:47:09 IF 7 + 08:47:09 THEN 08:47:09 48 + hold ; 08:47:14 That's from gforth 08:47:25 useraddr <112> will be base 08:47:29 i tried to fix ?#s to make it display number 0 also but this seems a bit tricky 08:47:44 ok 08:47:53 Ah, you mean if the number to print is 0? 08:47:57 yes 08:48:31 Do a # at the beginning and subtract 1 from the count 08:48:46 You might have to shuffle the stack a bit 08:48:53 i'm trying to learn some basic group theory and i thought i'd be fun to use forth to generate a table of values . So for values 0,1,2 i want to display abstract elements e,a,b 08:51:03 : ?#s ( ud1 n -- ) 1- >r # r> 0 do 2dup or if # else bl hold then loop ; 08:52:06 nice :) 08:55:01 Essentially, you want to divide by the base and then lookup the character to hold rather than covert to the ASCII digit 09:03:10 i got the idea 09:03:26 * smokeink have to go now. Thanks alot guys 09:03:47 /quit peace 09:03:59 --- quit: smokeink (Quit: Leaving) 09:27:33 --- quit: neceve (Quit: Konversation terminated!) 09:57:06 --- join: DKordic (~user@178-221-95-82.dynamic.isp.telekom.rs) joined #forth 10:38:30 --- join: dys (~dys@ip-109-40-0-240.web.vodafone.de) joined #forth 10:55:18 --- quit: bedah (Quit: offlinetime) 11:29:18 --- quit: dys (Ping timeout: 252 seconds) 11:29:43 --- join: dys (~dys@ip-109-40-0-240.web.vodafone.de) joined #forth 12:20:10 --- join: ACE_Recliner (~ACE_Recli@c-50-165-178-74.hsd1.in.comcast.net) joined #forth 12:24:51 --- quit: ACE_Recliner (Ping timeout: 252 seconds) 12:29:09 --- join: ACE_Recliner (~ACE_Recli@c-50-165-178-74.hsd1.in.comcast.net) joined #forth 12:49:42 --- quit: dys (Read error: Connection reset by peer) 13:04:24 --- join: dys (~dys@ip-109-40-0-240.web.vodafone.de) joined #forth 13:31:52 --- quit: GeDaMo (Remote host closed the connection) 13:33:12 --- join: Bahman (~Bahman@88.247.101.164) joined #forth 14:18:09 --- quit: gravicappa (Ping timeout: 252 seconds) 14:59:02 --- quit: ACE_Recliner (Ping timeout: 240 seconds) 15:48:10 --- quit: true-grue (Read error: Connection reset by peer) 16:13:01 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 16:34:08 --- quit: nighty-- (Quit: Disappears in a puff of smoke) 17:20:41 --- quit: Bahman (Quit: ave atque vale) 17:53:42 --- join: neceve (~ncv@86.125.247.109) joined #forth 17:53:42 --- quit: neceve (Changing host) 17:53:42 --- join: neceve (~ncv@unaffiliated/neceve) joined #forth 17:59:59 --- join: nighty-- (~nighty@d246113.ppp.asahi-net.or.jp) joined #forth 18:08:56 --- join: proteusguy (~proteus-g@182.232.248.94) joined #forth 18:08:57 --- mode: ChanServ set +v proteusguy 19:14:34 --- quit: Zarutian (Quit: Zarutian) 20:16:52 --- quit: vsg1990 (Quit: Leaving) 20:18:57 --- quit: DKordic (Ping timeout: 252 seconds) 20:25:34 --- join: roboguy` (~roboguy_@205.59.124.24.cm.sunflower.com) joined #forth 20:31:54 --- quit: neceve (Quit: Konversation terminated!) 21:11:12 --- quit: proteusguy (Ping timeout: 252 seconds) 21:37:46 --- quit: roboguy` () 21:53:04 --- join: proteusguy (~proteus-g@182.232.248.94) joined #forth 21:53:05 --- mode: ChanServ set +v proteusguy 22:14:49 --- join: bedah (~bedah@2a02:810d:243f:f584:7113:4c8d:c042:7e43) joined #forth 22:52:38 --- join: DKordic (~user@178-221-95-82.dynamic.isp.telekom.rs) joined #forth 23:59:59 --- log: ended forth/17.04.10