00:00:00 --- log: started forth/14.06.05 00:24:56 --- quit: bjorkintosh (Ping timeout: 276 seconds) 00:30:10 --- join: true-grue (~grue@95-26-133-202.broadband.corbina.ru) joined #forth 00:52:03 --- quit: ASau (Ping timeout: 240 seconds) 01:09:28 --- join: bjorkintosh (~bjork@ip68-13-229-200.ok.ok.cox.net) joined #forth 01:20:49 --- quit: bjorkintosh (Ping timeout: 255 seconds) 01:24:51 --- join: mnemnion_ (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 01:28:38 --- quit: mnemnion (Ping timeout: 276 seconds) 01:38:33 --- quit: DGASAU (Ping timeout: 240 seconds) 01:38:39 --- join: bjorkintosh (~bjork@ip68-13-229-200.ok.ok.cox.net) joined #forth 01:41:21 --- join: DGASAU (~user@p50993595.dip0.t-ipconnect.de) joined #forth 01:56:37 --- quit: DGASAU (Ping timeout: 260 seconds) 02:01:17 --- join: foobar42 (de9a7669@gateway/web/freenode/ip.222.154.118.105) joined #forth 02:01:31 hi all 02:01:53 newbie question, how do I embed a string inside a colon definition 02:22:13 --- join: DGASAU (~user@p50993595.dip0.t-ipconnect.de) joined #forth 02:28:30 --- quit: carc (Quit: QUIT) 02:29:00 --- join: carc (~carc@unaffiliated/carc) joined #forth 03:05:17 foobar42: hi, have you tried S" 03:05:51 impomatic: yes I got it working with s" 03:06:00 :-) 03:15:39 is there a nicer way to do this 03:15:48 s" foo" 03:16:03 constant str-len 03:16:03 constant str-ptr 03:16:26 then everytime i need to use them i invoke the two words 03:36:30 foobar42: what are you trying to do? 03:36:46 return the address and length of the string? 03:40:55 my gut feeling is that if you want to do this more than once, you ought to make a definer to create string constants 03:56:26 can I use s" in side of a colon definition? 03:57:30 ah it seems i can 03:57:45 i was running into some weird problem with throw that made me think i couldn't do this 03:58:16 gordonjcp: you are right i think i should make something that can be reused 04:58:38 --- quit: carc (Quit: QUIT) 04:59:21 --- join: carc (~carc@unaffiliated/carc) joined #forth 05:15:30 --- quit: foobar42 (Ping timeout: 240 seconds) 05:33:13 --- join: Zarutian (~zarutian@194-144-84-110.du.xdsl.is) joined #forth 05:33:29 --- quit: DGASAU (Remote host closed the connection) 05:35:19 --- join: DGASAU (~user@p50993595.dip0.t-ipconnect.de) joined #forth 06:23:41 --- quit: djinni (Quit: ERC Version 5.3 (IRC client for Emacs)) 06:26:39 --- join: djinni (~djinni@192.241.198.49) joined #forth 07:01:09 --- join: nighty^ (~nighty@static-68-179-124-161.ptr.terago.net) joined #forth 08:47:01 --- join: dessos (~dessos@c-174-60-176-249.hsd1.pa.comcast.net) joined #forth 09:01:43 --- quit: dessos (Quit: ChatZilla 0.9.90.1 [Firefox 22.0/20130618035212]) 09:21:36 --- quit: Zarutian (Quit: Zarutian) 09:59:34 --- join: Zarutian (~zarutian@194-144-84-110.du.xdsl.is) joined #forth 10:29:32 so i just committed the first pass at my interpreter https://github.com/jimktrains/fcalc probably not a traditional interpreter/compiler 10:32:20 I do need to add some comments in to explain somethings, but the basic idea is that what each command needs on the stack is typed and what it returns is also typed. This allows me to dispatch to the proper functions (double*double vs matrix*matrix vs double*matrix) as well as possibly later doing static analysis over the program 10:37:02 What calculus do you implement for static analysis? 10:37:17 DGASAU: I don't yet, but my hope is to be able to 10:37:34 I doubt that you can retrofit it. 10:37:54 the idea is that since the args and ret lists are known, you can go through and require all calls to be valid in terms of type and argument cardnality 10:38:00 retrofit what? 10:38:12 So far, all attempts I know of either start from calculus, or strip functionality when retrofitting static analysis. 10:38:40 DGASAU: it's more of a "research"/learning project for me 10:38:59 that's why I said possibly:) 10:40:32 There're too many ifs to consider it possible. 10:40:44 Whatever, you're entitled to your opinion. 10:40:46 i'm sure. like I said it's a learning project for me 10:41:11 anyway, static analysis isn't the goal. the goal is to make a nice little calculator for my phone 10:42:28 Learn how to write at least LL(1) parsers and you'll have saner language for it. :) 10:45:56 won't argue. parser/compiler/interpreter writing is something I havn't done before 10:48:22 Understaning how to write trivial recursive descent parser (generating AST included) takes only fifteen minutes of your life. 10:48:57 yeah 10:48:58 In return you gain a lot saner languages for your toys. 10:49:15 I've written small toys, like an infix expression parser 10:49:27 but nothing more complicated, so I don't really count that 10:50:23 If you're interested in writing compilers, there're videos of good course from Brown university. 10:51:45 I'll try to find it:) thanks:) 10:52:09 is that needed for forth though? 10:52:27 "Is Forth needed" is better question. 10:52:55 go on? 10:54:19 ? 10:54:50 well, i would like to use forth. I think it's a good match for the limited number of keys available on a calculator 10:57:25 I think I'm missing your point 10:58:25 Virtually everyone uses some sort of intermediate language with capabilities similar to those of Forth. 10:58:50 like? 10:58:50 But nobody with except of some fanatics programs in these ILs directly. 10:59:05 IL? 10:59:13 Intermediate language. 10:59:18 ah 10:59:35 Like Java byte code, like O'Caml byte code, and so on. 10:59:42 ok 11:00:03 With exception of few, nobody programs in those languages directly. 11:00:21 Because you can write simple parser and simple code generator, 11:00:24 --- join: kumul (~nal@adsl-72-50-85-62.prtc.net) joined #forth 11:00:40 and they do most things you have to do manually in Forth. 11:01:09 That's how folks program microcontrollers in Haskell. 11:02:08 yes, but I want to enter it on a calculator keypad, which is why I wanted something simple 11:02:36 Do you have parentheses on your keypad? 11:02:51 i'm not going to 11:03:09 Why? 11:03:17 because you don't need them? 11:03:34 Do you know about counter machines? 11:03:56 would accumulator machines be the same thing? 11:04:05 You can simulate Turing machine with two-counter machine. 11:04:34 This means that you don't need all four operations on you key pad. 11:04:50 You don't need digits either. 11:05:20 yes, but it is a calculator. 11:05:35 i'm dropping complexity i find unneeded 11:05:48 and find numbers to be an OK level of complexity 11:06:13 I personally hate entering expressions with them. Someone gave me an RPN calculator once and <3 happened 11:06:14 TI calculators had full-blown CAS on board... 11:06:32 i've used them. the 89's are nice lil' guys :) 11:07:13 Only don't tell me that you have never needed parentheses. :) 11:07:29 on an RPN machine? 11:07:44 On RPN machine too. 11:07:56 I've never needed them on my 35s 11:08:20 But you couldn't do complex things either. 11:08:26 Had to resort to paper. 11:08:37 --- quit: kumul (Quit: kumul) 11:08:52 like ? 11:09:34 and how do () help in an RPN world? it's an unambiguous syntax iirc 11:10:46 sheesh, gp5st... if DGASAU can remember your own personal experiences, then you should remember them too. he was there after all. :) 11:11:12 tangentstorm: I know :( I'm very forgetful 11:11:25 They help in the way that you don't have to debug your formulae. 11:11:50 You can just enter them as is and compare to text book easily. 11:11:52 DGASAU: what? you've never written a bad formula with parens? 11:11:57 i find () more error prone 11:12:28 DGASAU: you can compare the RPN version to the infix version easily too 11:12:32 --- join: kumul (~mool@adsl-72-50-85-62.prtc.net) joined #forth 11:12:35 Finding mistake in prefix-infix notation is a lot easier than in RPN. 11:12:44 Oh, really? 11:12:45 DGASAU: you believe that 11:12:48 Ha-ha! 11:13:52 You must have never seen complex formulae in your life. 11:14:09 DGASAU: thanks for the ad hominem 11:14:13 and yes, i have 11:14:32 both symbolically when i did qchem and numerically when I do engineering 11:14:42 Then try to translate all of them into RPN. :) 11:14:49 I normally do 11:15:10 you're already parsing the infix notation, and the rpn conversion of that isn't hard 11:15:20 in fact it's very easy to do as you parse the infix notation 11:15:29 E.g. try translating your lovely Legandre polynomials up to the fifth order. 11:16:55 you enter it in a ti30xa easily into a 30xa and we'll talk 11:18:02 Just start writing them down right here one by one. :) 11:18:11 or, enter it as a program easily on an 83 or 89 11:18:14 If it's easy, then it isn't a problem. :) 11:18:47 :: shrug :: 11:18:54 if you just don't like RPN, why are you here? 11:19:26 You can find first orbitals for hydrogen in the most elemeentary books on QC. 11:20:17 he's here to save us i think... 11:20:19 yes, you can 11:20:56 tangentstorm: of course. I forgot how terrible of a person I am for liking stacks and having them work well in my brain 11:21:47 So, what is the problem of translating it in RPN for you? 11:22:11 there isn't one 11:22:24 gp5st: this is just what he does. this will not end unless you just stop talking to him. 11:22:32 i'm just saying it's not trivial to enter into a calculator either. 11:22:48 tangentstorm: yeah, i need to get back to work. lunch is over anyway 11:23:48 When compared to RPN it is trivial, indeed. 11:24:39 If you make a mistake, you only need to go linearly forward sign by sign and check. 11:30:16 --- join: MrMobius (~Joey@194.176.111.174) joined #forth 11:33:06 --- quit: nighty^ (Ping timeout: 252 seconds) 11:42:35 also, there aren't many unknowns to doing type checking on a stack 11:42:46 everything adds and subtracts certain things at all tims 11:43:10 each block, like an if or loop need to have a null stack effect, and all of that can be done without running the program 11:43:32 so at any place in the program you can know what types will be on the stack 11:44:18 well, null or defined, but either way, that's known at compile time 11:44:47 --- quit: MrMobius (Quit: HydraIRC -> http://www.hydrairc.com <-) 11:51:04 RPN is just easier 11:51:16 infix notation is stupid 11:51:34 we're taught it from primary school, but it's an utterly counterintuitive way to perform arithmetic 11:51:57 --- join: ehaliewicz (~user@50-0-50-2.dsl.dynamic.sonic.net) joined #forth 11:52:03 the mere fact that you have to specify the order of operations and have brackets to split off bits to do first ought to be a major clue 11:52:30 we don't think in infix notation 12:00:33 parens do make it easier to visually identify groups of items, for things like cancellation of distribution 12:01:11 but imho it's only a visual clue, if you throw them into an rpn equation, the same types of visual markers and patterns are there 12:05:29 I should revive my ignition controller project, and implement it in some sort of microcontroller Forth 12:05:48 instead of having to drag an old 486 laptop out to the car every time I want to start it 12:06:57 gordonjcp: I have a lovely thinkpad 350 if you'd like to lug less out to the card 12:07:30 gp5st: does it have a parallel port? 12:07:39 hmmm, i don't think so. just serial 12:07:54 I probably have the only engine with a parallel port interface 12:08:00 lol 12:08:27 http://www.thinkwiki.org/wiki/Parallel_Port 12:08:30 i think it might 12:08:38 i don't remember it, but i'll check for sure when I get home 12:09:04 I'm tempted to get rid of the distributor too, and just go for wasted-spark ignition 12:09:33 the problem is that the advance weight mechanism is now very sloppy so it goes to maximum advance at about 2000rpm 12:09:54 ah 12:10:02 you kind of need to set the timing for either driving in town, or driving on the motorway 12:10:12 but mechanical distributors suck anyway 12:10:54 :-p 12:13:16 maybe I should just buy a Ford EDIS ignition pack and revise my project to just give it phasing information 12:24:32 --- join: ErhardtTheWhite (~quassel@93-43-168-8.ip92.fastwebnet.it) joined #forth 12:24:32 --- quit: ErhardtMundt (Read error: Connection reset by peer) 12:45:12 --- quit: Zarutian (Quit: Zarutian) 13:02:03 --- join: Mat3 (~Mat@91-64-127-6-dynip.superkabel.de) joined #forth 13:02:11 hello 13:03:01 --- join: ASau (~user@46.115.152.164) joined #forth 13:28:26 --- join: Zarutian (~zarutian@194-144-84-110.du.xdsl.is) joined #forth 13:45:28 --- quit: Zarutian (Ping timeout: 240 seconds) 13:50:10 --- join: Zarutian (~zarutian@194-144-84-110.du.xdsl.is) joined #forth 14:27:48 --- quit: Mat3 (Quit: Verlassend) 14:41:07 --- quit: true-grue (Read error: Connection reset by peer) 14:58:07 --- quit: mnemnion_ (Remote host closed the connection) 15:23:08 --- quit: gp5st (Quit: Leaving.) 15:54:16 https://dl.dropboxusercontent.com/u/3581058/forth-autocomplete.gif 15:54:41 not sure why the depth is 32 there but i'll ignore it for now ;) 16:00:19 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 16:21:52 --- quit: kumul (Ping timeout: 260 seconds) 16:22:56 ehaliewicz: I'm on C64 too! 16:23:21 oh, that's genesis 16:23:23 my bad 16:23:55 that's a 6502 right? 16:24:32 I don't know 16:24:38 it might be 16:30:19 --- quit: ErhardtTheWhite (Ping timeout: 260 seconds) 16:32:04 --- join: ErhardtMundt (~quassel@93-43-168-8.ip92.fastwebnet.it) joined #forth 16:34:51 ErhardtMundt: iirc it is a variant of 6502 16:35:13 might be the same as in the SNES which is 65c816 iirc 17:02:07 --- quit: klltkr (Read error: Connection reset by peer) 17:06:40 --- quit: Zarutian (Ping timeout: 260 seconds) 17:12:53 --- join: Zarutian (~zarutian@194-144-84-110.du.xdsl.is) joined #forth 17:20:01 --- join: karswell (~user@87.112.34.104) joined #forth 17:43:30 --- join: saml_ (~saml@pool-71-190-12-76.nycmny.east.verizon.net) joined #forth 17:52:15 --- quit: saml_ (Ping timeout: 252 seconds) 18:00:00 --- join: klltkr (~klltkr@unaffiliated/klltkr) joined #forth 18:04:19 --- join: saml_ (~saml@pool-71-190-12-76.nycmny.east.verizon.net) joined #forth 19:13:17 --- join: kumul (~mool@adsl-72-50-86-190.prtc.net) joined #forth 19:27:11 --- quit: Zarutian (Ping timeout: 255 seconds) 19:27:47 --- join: klltkr_ (~klltkr@unaffiliated/klltkr) joined #forth 19:28:35 --- quit: klltkr (Ping timeout: 260 seconds) 19:33:28 --- join: Zarutian (~zarutian@194-144-84-110.du.xdsl.is) joined #forth 19:35:19 --- quit: Zarutian (Client Quit) 20:34:41 --- quit: cataska (Ping timeout: 255 seconds) 20:35:28 --- join: cataska (~cataska@118-163-69-1.HINET-IP.hinet.net) joined #forth 20:39:56 --- quit: cataska (Remote host closed the connection) 20:52:03 --- join: cataska (~cataska@118-163-69-1.HINET-IP.hinet.net) joined #forth 21:24:32 --- quit: kumul (Quit: Leaving) 22:02:57 --- quit: saml_ (Quit: Leaving) 22:17:01 --- quit: carc (*.net *.split) 22:17:01 --- quit: bbloom_ (*.net *.split) 22:17:02 --- quit: bluekelp (*.net *.split) 22:17:02 --- quit: jimt (*.net *.split) 22:17:02 --- quit: petercommand (*.net *.split) 22:17:03 --- quit: ttmrichter (*.net *.split) 22:17:04 --- quit: dzho (*.net *.split) 22:17:04 --- quit: Guest25077 (*.net *.split) 22:17:05 --- quit: gordonjcp (*.net *.split) 22:17:06 --- quit: djinni (*.net *.split) 22:17:07 --- quit: dch (*.net *.split) 22:17:07 --- quit: enthos (*.net *.split) 22:17:08 --- quit: nisstyre (*.net *.split) 22:17:12 --- quit: mnemnion (*.net *.split) 22:17:12 --- quit: ehaliewicz (*.net *.split) 22:28:44 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 22:28:44 --- join: ehaliewicz (~user@50-0-50-2.dsl.dynamic.sonic.net) joined #forth 22:28:44 --- join: djinni (~djinni@192.241.198.49) joined #forth 22:28:44 --- join: carc (~carc@unaffiliated/carc) joined #forth 22:28:44 --- join: bbloom_ (~bbloom@cpe-68-173-7-82.nyc.res.rr.com) joined #forth 22:28:44 --- join: Guest25077 (~kulp@kulp.ch) joined #forth 22:28:44 --- join: gordonjcp (~gordonjcp@aramaki.gjcp.net) joined #forth 22:28:44 --- join: nisstyre (yourstruly@oftn/member/Nisstyre) joined #forth 22:28:44 --- join: dzho (~dzho@unaffiliated/dzho) joined #forth 22:28:44 --- join: enthos (~enthos@219-86-128-208.dynamic.tfn.net.tw) joined #forth 22:28:44 --- join: dch (sid1310@couchdb/committer/dch) joined #forth 22:28:44 --- join: ttmrichter (~ttmrichte@192.241.205.8) joined #forth 22:28:44 --- join: jimt (~jim@ae164183.dynamic.ppp.asahi-net.or.jp) joined #forth 22:28:44 --- join: bluekelp (~bluekelp@2001:470:1:41:414:7f97:a8fc:ee91) joined #forth 22:28:44 --- join: petercommand (~peter@unaffiliated/petercommand) joined #forth 22:28:44 --- mode: verne.freenode.net set +v bluekelp 22:30:17 --- quit: carc (*.net *.split) 22:30:17 --- quit: bbloom_ (*.net *.split) 22:30:17 --- quit: bluekelp (*.net *.split) 22:30:18 --- quit: jimt (*.net *.split) 22:30:18 --- quit: petercommand (*.net *.split) 22:30:18 --- quit: ttmrichter (*.net *.split) 22:30:19 --- quit: dzho (*.net *.split) 22:30:20 --- quit: Guest25077 (*.net *.split) 22:30:20 --- quit: gordonjcp (*.net *.split) 22:30:21 --- quit: djinni (*.net *.split) 22:30:23 --- quit: dch (*.net *.split) 22:30:23 --- quit: enthos (*.net *.split) 22:30:23 --- quit: nisstyre (*.net *.split) 22:30:26 --- quit: mnemnion (*.net *.split) 22:30:26 --- quit: ehaliewicz (*.net *.split) 22:35:16 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 22:35:16 --- join: ehaliewicz (~user@50-0-50-2.dsl.dynamic.sonic.net) joined #forth 22:35:16 --- join: djinni (~djinni@192.241.198.49) joined #forth 22:35:16 --- join: carc (~carc@unaffiliated/carc) joined #forth 22:35:16 --- join: bbloom_ (~bbloom@cpe-68-173-7-82.nyc.res.rr.com) joined #forth 22:35:16 --- join: petercommand (~peter@unaffiliated/petercommand) joined #forth 22:35:16 --- join: bluekelp (~bluekelp@2001:470:1:41:414:7f97:a8fc:ee91) joined #forth 22:35:16 --- join: jimt (~jim@ae164183.dynamic.ppp.asahi-net.or.jp) joined #forth 22:35:16 --- join: ttmrichter (~ttmrichte@192.241.205.8) joined #forth 22:35:16 --- join: dch (sid1310@couchdb/committer/dch) joined #forth 22:35:16 --- join: enthos (~enthos@219-86-128-208.dynamic.tfn.net.tw) joined #forth 22:35:16 --- join: dzho (~dzho@unaffiliated/dzho) joined #forth 22:35:16 --- join: nisstyre (yourstruly@oftn/member/Nisstyre) joined #forth 22:35:16 --- join: gordonjcp (~gordonjcp@aramaki.gjcp.net) joined #forth 22:35:16 --- join: Guest25077 (~kulp@kulp.ch) joined #forth 22:35:16 --- mode: verne.freenode.net set +v bluekelp 23:08:38 --- quit: mnemnion (Read error: Connection reset by peer) 23:09:11 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 23:46:01 --- quit: cataska (Read error: Connection reset by peer) 23:47:16 --- join: cataska (~cataska@118-163-69-1.HINET-IP.hinet.net) joined #forth 23:58:12 --- quit: mnemnion (Remote host closed the connection) 23:59:59 --- log: ended forth/14.06.05