00:00:00 --- log: started forth/07.06.18 00:00:08 --- join: slava (n=slava@CPE0080ad77a020-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 00:00:09 --- mode: ChanServ set +o slava 00:31:00 --- quit: tgunr (Read error: 104 (Connection reset by peer)) 00:31:38 --- join: tgunr (n=davec@72-173-44-78.cust.wildblue.net) joined #forth 01:42:00 --- join: segher (n=segher@dslb-084-056-139-249.pools.arcor-ip.net) joined #forth 02:05:35 --- join: skas_wk (n=skas@202-90-54-135.static.linearg.net) joined #forth 02:06:41 --- quit: skas_wk (Remote closed the connection) 02:08:01 --- join: skas_wk (n=skas@202.90.54.135) joined #forth 03:25:34 --- quit: ecraven (Remote closed the connection) 03:30:28 --- join: ecraven (i=nex@eutyche.swe.uni-linz.ac.at) joined #forth 03:55:58 --- quit: JasonWoof ("leaving") 04:24:54 --- join: ygrek (i=user@gateway/tor/x-cb6cf4c211e78746) joined #forth 04:45:41 --- nick: jns_ -> jns 05:58:25 --- join: timlarson_ (n=timlarso@65.116.199.19) joined #forth 06:15:40 --- quit: ecraven (Remote closed the connection) 06:29:31 --- quit: skas_wk ("Leaving") 06:34:30 --- quit: jns (Read error: 113 (No route to host)) 06:37:30 --- join: jns (n=jens@p57B04DED.dip.t-dialin.net) joined #forth 06:58:05 --- quit: Quartus__ (Read error: 104 (Connection reset by peer)) 07:03:42 --- join: rabbitwhite (n=Miranda@c-24-126-64-144.hsd1.md.comcast.net) joined #forth 07:03:42 --- quit: rabbitwhite (Read error: 104 (Connection reset by peer)) 07:26:14 --- quit: jns (Read error: 113 (No route to host)) 07:29:04 --- join: jns (n=jens@p57B04DED.dip.t-dialin.net) joined #forth 08:01:35 --- join: Quartus__ (n=Quartus_@205.205.50.2) joined #forth 08:01:52 hi. 08:07:12 --- join: jns_ (n=jens@p57B07026.dip.t-dialin.net) joined #forth 08:09:33 --- quit: Quartus__ ("jmIrc destroyed by the OS") 08:09:50 --- join: Quartus__ (n=Quartus_@205.205.50.2) joined #forth 08:14:36 --- quit: jns (Read error: 60 (Operation timed out)) 08:40:52 --- quit: Quartus__ (Read error: 104 (Connection reset by peer)) 08:42:57 --- quit: GertS69 (Remote closed the connection) 09:01:22 --- nick: jns_ -> jns 09:08:08 --- join: rabbitwhite (n=Miranda@c-24-126-64-144.hsd1.md.comcast.net) joined #forth 09:18:51 --- join: Quartus__ (n=Quartus_@205.205.50.2) joined #forth 09:41:47 --- quit: Quartus__ (Read error: 104 (Connection reset by peer)) 09:42:12 --- join: Quartus__ (n=Quartus_@205.205.50.2) joined #forth 09:59:16 --- quit: Quartus__ (Read error: 104 (Connection reset by peer)) 10:02:44 --- join: crest__ (n=crest@p5489FD64.dip.t-dialin.net) joined #forth 10:10:19 --- quit: crest_ (Read error: 110 (Connection timed out)) 10:14:21 --- join: edrx (i=edrx@201.5.12.5) joined #forth 10:22:30 --- quit: edrx ("rcirc on GNU Emacs 22.1.50.1") 10:39:10 --- join: crest_ (n=crest@p5489C396.dip.t-dialin.net) joined #forth 10:43:05 --- join: Crest (n=crest@p5489E09F.dip.t-dialin.net) joined #forth 10:49:53 --- quit: madwork ("?OUT OF DATA ERROR") 10:51:14 --- join: madwork (n=foo@204.138.110.15) joined #forth 10:56:06 --- quit: crest__ (Read error: 110 (Connection timed out)) 10:59:25 --- quit: crest_ (Read error: 110 (Connection timed out)) 11:02:46 --- quit: Crest (Read error: 110 (Connection timed out)) 11:03:21 --- join: edrx (i=edrx@201.5.11.220) joined #forth 12:04:04 --- join: JasonWoof (n=jason@c-71-192-30-169.hsd1.ma.comcast.net) joined #forth 12:04:04 --- mode: ChanServ set +o JasonWoof 12:07:34 --- quit: edrx ("rcirc on GNU Emacs 22.1.50.1") 12:10:27 --- quit: ygrek () 12:25:39 --- quit: mem4tim (sterling.freenode.net irc.freenode.net) 12:33:46 --- log: started forth/07.06.18 12:33:46 --- join: clog (n=nef@bespin.org) joined #forth 12:33:46 --- topic: 'Welcome to #forth. We discuss the Forth programming language and a variety of technical subjects. Introduction: http://tinyurl.com/kvawv | Starting Forth: http://tinyurl.com/rm7pq | Thinking Forth: http://tinyurl.com/nsy4j | Gforth compiler: http://tinyurl.com/s8uho | ANS/ISO Forth Standard doc: http://tinyurl.com/nx7dx | http://quartus.net/search | Paste: http://forth.pastebin.ca' 12:33:46 --- topic: set by Quartus on [Sat Nov 25 22:45:21 2006] 12:33:46 --- names: list (clog cmeme maht I440r tgunr segher nighty- Raystm2 jdrake jns @Quartus RayS @JasonWoof madwork rabbitwhite timlarson_ @slava yumehito Snoopy42 TreyB_ madgarden ccfg timlarson mem4tim gnomon uiuiuiu warpzero mrsbrisby) 12:37:32 --- join: crc (n=crc@pool-70-110-170-243.phil.east.verizon.net) joined #forth 12:54:10 --- join: Quartus__ (n=Quartus_@205.205.50.2) joined #forth 12:54:10 --- quit: Quartus__ ("used jmIrc") 12:54:30 --- join: Quartus__ (n=Quartus_@205.205.50.2) joined #forth 13:27:19 --- quit: timlarson_ ("Leaving") 13:29:39 --- quit: Quartus__ (Read error: 104 (Connection reset by peer)) 13:53:08 --- quit: rabbitwhite ("New look! Same great product.") 14:10:09 --- join: Quartus__ (n=Quartus_@205.205.50.2) joined #forth 14:47:25 --- quit: Quartus__ ("used jmIrc") 14:47:37 --- join: Quartus__ (n=Quartus_@205.205.50.2) joined #forth 14:47:52 hey. 14:55:22 Hola 15:12:08 --- quit: slava () 15:25:41 --- quit: crc (Read error: 110 (Connection timed out)) 15:26:27 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 15:26:27 --- mode: ChanServ set +o tathi 15:30:17 Is it possible to have a device with 2k or 4k of ram to have a useful forth implementation on it? 16:11:44 --- join: skas_wk (n=skas@121.127.198.32) joined #forth 16:19:03 --- quit: tathi ("bbl") 16:42:21 --- quit: Snoopy42 (Read error: 145 (Connection timed out)) 16:51:35 depends on what you mean by 'useful' 16:52:52 Something that can be programmed by connecting a serial cable upto it, and otherwise being able to run a program. 16:54:00 So it could be interactive only through a serial cable, providing some kind of REPL. 17:13:11 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 17:13:12 --- mode: ChanServ set +o tathi 17:21:35 umbilical systems. Some are that small. 17:22:21 but generally the compilation is done on a host, with the result fed to the widget 17:24:46 I have noted that colorforth's website indicated a size of 2k for the 'kernel' (which would be what I would be interested in) 17:25:08 running the compiiler on a miniscule target environment is more of a parlour trick than anything else, particularly when the device has no keyboard and display 17:26:45 I am thinking it can be done. The possibility is high enough that it is worth a little bit of time to test the idea. 17:27:26 it can be, and has been. It's just not very useful. 17:28:29 I would think the ability to program a chip with only a communications program and a serial cable would be useful. 17:30:13 why? Odds are the computer you're using to send the serial data from is orders of magnitude more powerful than the thing you're programming. 4K is a serious constraint. Check out umbilical forths, they are the real-world answer to this. 17:31:32 you get a full Forth, optimization, full use of the target memory, without losing any interactivity 17:32:49 I suppose that is better 17:36:33 unless you *want* to do the parlour trick. 17:37:45 Well the parlour trick would be intersting, but I am mainly about utility. 17:37:59 Me too. 17:39:41 Useful Forths start around 8k, with 16k the smallest that doesn't actually pinch much. 17:41:17 After that you need memory in which to compile your code and store your data. 17:42:53 So it might not be the greatest thing for what I am considering. I am thinking on getting an ATtiny chip, and those max out at 8k. 17:43:14 I like the small size of the ATtiny chips, less room needed on my bread board 17:43:25 well, if you think you'll need to program it with only the use of a VT100 terminal... 17:45:03 I only use a VT100 terminal for programming anyways 18:05:09 --- join: SunDragon (n=reuben@proxy.whiteselectronics.com) joined #forth 18:06:18 what is the forth approach to interoperating with things that are not simple, for example tcp/ip and email? 18:09:08 --- join: bobber (n=kavacon@c-67-190-205-78.hsd1.mn.comcast.net) joined #forth 18:09:18 Hi all 18:09:26 hi bobber 18:10:21 Why does hex 0d not work in a colon definition but works fine from the prompt? 18:11:22 hex is not an immediate word 18:11:49 so you're compiling it into your definition (i.e. your new word will change the base to hex) 18:12:00 [ hex ] 0d should work 18:12:10 did that make sense to you? 18:12:33 Not really..... 18:13:23 hmm...let me try and think of a better way to say it. 18:15:18 when you're in a colon definition, it's not performing the behavior of HEX (switch the base to hexadecimal) 18:15:41 Instead, it is putting that behavior into the colon definition that you're making. 18:16:23 it doesn't happen now, it happens when you use the colon definition 18:16:46 it DOES try to turn the 0d into a number "now" 18:16:58 any better? 18:17:37 Hmmmmmm.....I'll have to think on it. I'm not sure I see the point. I thought if I did something like..... 18:18:57 : dial hex 0d sendit ; where sendit is a word I defined to write a byte to the serial port, it would send a hex value of 0d 18:19:24 if it was immediate, then would there be a syntax to defer it until you used the colon definition? 18:19:50 yes: "postpone foo" 18:20:19 interesting that one of the words is the symbol [ while the other is the english word postpone 18:20:50 bobber: no, it's set up so that you can do : hexadecimal hex ; to define a synonym for hex (contrived example, I know). 18:21:48 you could do 18:22:06 hex : dial 0d sendit ; decimal 18:22:09 or 18:22:25 : dial [ hex ] 0d sendit ; 18:22:50 And the [] do what? 18:22:59 Yeah, but that last one leaves the base in hex, which will come back to bite you. 18:23:11 TreyB_: oops, yeah, thanks. 18:23:19 [ switches to interpret state 18:23:25 ] switches back to compile state 18:23:55 Looks like I need to bone up more on interpret vs complie 18:24:09 basically, in interpret state, everything happens immediately 18:24:43 in compile state, they get compiled into the word you're defining 18:24:59 You might use [ some interpreted code ] like you'd use a compile-time expression in C/C++ 18:25:20 Calculate a constant value, perhaps. 18:25:22 And it seems I am confusing colon definitions and a program file made up of a bunch of words that gets opened/loaded and run 18:25:35 --- nick: TreyB_ -> TreyB 18:26:42 yeah, they're not quite the same 18:30:29 Quartus might possibly have a brilliant explanation, but I think this is a case where you just have to know how the language model works. 18:30:57 if [ switches to interpreted state, does postpone switch to some other state? 18:31:09 no 18:31:12 postpone is an immediate word 18:31:23 it reads the next word name from the input stream and postpones it 18:32:03 tathi: and yet I >can< us some words in a colon def and it works....like : testing 10 2 + dup drop . ; Useless example, but do you see my point? 18:32:21 us=use 18:32:29 bobber: yes, I see. 18:32:40 so why not hex? 18:33:39 because you want the base to be changed immediately, so that when the interpreter sees "0d", it will interpret it as a hex number. 18:36:01 You could also (depending on which Forth you're using) simply use a prefix similar to what you would do in C 18:36:23 tathi: Ahhhhhh.....so puting it in a colon def does not change the base as it (the new word) is being compiled, and when the compiling process gets to 0d it thinks it is a word and not a number. Yes? 18:36:24 For instance, gforth accepts $deadbeef as a hexadecimal number regardless of what the base is set to. 18:36:32 bobber: yes 18:36:35 there you go 18:37:13 actually, the sequence of events is that it takes the string "0d" and tries to look it up in the dictionary. 18:37:26 Then it tries to convert it to a number in the current base (presumably decimal) 18:37:37 When that fails, it gives you a "word not found" error or something like that. 18:37:57 But you've got the idea now 18:38:22 tathi: do you know of any cool programs written in forth that one could download and use without having much (or any) forth knowledge? 18:39:38 SunDragon: nothing particularly cool, I'm afraid. 18:39:51 i know of one, but it is ancient 18:40:01 It seems like people mostly write proprietary software, or they just tinker. 18:40:08 : Arrrghhh ?language crazy this learn ever I will ; 18:40:23 ;) 18:40:28 gforth comes with a tetris and sokoban 18:40:47 bobber: next step, try to do OO in forth and understand how it is actually working 18:41:50 Don't make his head explode on the first day, SunDragon. 18:42:05 SunDragon: OO? Object oriented? 18:42:15 yes 18:42:36 BANG! AHHHHH MY HEAD! 18:44:08 ok, bedtime for me. bobber: good luck :) 18:44:20 --- quit: tathi ("May the Forth be with you...") 18:45:23 Thanks all 18:45:27 --- quit: bobber () 18:48:19 --- join: edrx (i=edrx@201.5.12.123) joined #forth 18:50:40 --- join: segher_ (n=segher@dslb-084-056-187-006.pools.arcor-ip.net) joined #forth 18:50:47 --- quit: jns (Read error: 110 (Connection timed out)) 18:53:49 --- join: jns (n=jens@p57B07ED8.dip.t-dialin.net) joined #forth 18:56:44 * TreyB tweaks the runtime environment for an embedded pforth derivative. 18:59:37 do i remember correctly that pforth was intended to be used in a musical synthesizer? 19:01:11 --- quit: segher (Read error: 110 (Connection timed out)) 19:03:26 I don't know. They wrote it in C for embedding in other apps, I think (at least, I use it that way). 19:04:26 Right now I use it to do configurable filtering of data collected on cellular telephone handsets. 19:06:11 If we succeed in getting our software installed on as many phones as we want I'll have the most widely distributed forth implementation on the planet :-) 19:06:47 I did not know that people were still using pforth 19:07:17 I used it a lot many many years - mainly because it was easy to understand 19:07:38 TreyB: move over OFW and PS 19:07:55 and now I'm writing an article about implementing a Forth on top of Lua and I mention pforth 19:11:49 oops, need to disconnect, ttyl 19:11:52 --- quit: edrx ("rcirc on GNU Emacs 22.1.50.1") 19:14:25 hi TreyB 19:24:36 --- quit: SunDragon ("SunDragon has no reason") 19:42:11 --- join: crc (n=crc@pool-70-110-170-243.phil.east.verizon.net) joined #forth 19:53:08 --- quit: RayS (Read error: 104 (Connection reset by peer)) 19:53:51 --- join: RayS (n=Ray_stma@adsl-68-95-147-65.dsl.rcsntx.swbell.net) joined #forth 20:01:16 --- nick: segher_ -> segher 20:25:00 --- join: yumehito_ (n=yumehito@b-internet.87.103.254.70.snt.ru) joined #forth 20:39:12 --- quit: yumehito (Success) 20:41:23 --- join: edrx (i=edrx@201.5.11.71) joined #forth 21:06:31 --- quit: timlarson ("Leaving") 21:11:12 --- join: timlarson (n=timlarso@user-12l37rb.cable.mindspring.com) joined #forth 23:09:06 --- join: ayrnieu (n=julian@pdpc/supporter/sustaining/ayrnieu) joined #forth 23:40:15 man, C just isn't made for factoring 23:40:54 I just wrote a little program. it has 3 functions and 13 macros 23:41:32 the macros are well factored :) 23:41:33 --- part: edrx left #forth 23:59:59 --- log: ended forth/07.06.18