00:00:00 --- log: started forth/15.04.08 00:18:53 --- quit: mnemnion (Remote host closed the connection) 00:20:28 which order do forths put operands in for binary ops? like 1 2 + is this 1+2 or 2+1? 00:21:21 well for addition it doesn't matter - maybe string operations/etc. are a better example 00:21:45 iirc it's but i might have that completely wrong 00:21:55 ok, for * 00:22:06 well 00:22:07 hrm 00:22:12 anything not commutative 00:26:54 okay cool so i implemented a mini forth with the words : ; + .s . 00:27:14 it works well and it's 51 lines of haskell so i like it. now i just need to implement a few more primitive words and then learn how to use forth. ;) 00:30:32 there *are* easier ways to learn forth than writing one in haskell :) 00:33:29 I don't believe it :) 00:33:36 what does "if" typically look like? 00:34:45 ah found a standard forth word list 00:35:20 if you want a good intro, I recommend "Starting FORTH" by Leo Brodie 00:35:49 it won't give you much insight into how to implement one, but will expose you to the language (IF, DO, etc.) 00:36:12 you can find an online version of the book (Starting FORTH) online in PDF format, iirc 00:36:31 thanks 01:15:19 bluekelp: which threading is popular in modern design forth? 01:35:21 --- join: true-grue (~grue@95-27-141-75.broadband.corbina.ru) joined #forth 01:53:26 ok my forth can write recursive factorial, it's actually pretty fun/therepeutic to implement seemingly. 01:53:30 i wonder what's the craziest thing i could do with it. 01:54:57 although i don't really allow writing extra compilers so i should probably learn how to do that :) 02:17:50 --- quit: TodPunk (Read error: Connection reset by peer) 02:18:14 --- join: TodPunk (Tod@50-198-177-186-static.hfc.comcastbusiness.net) joined #forth 02:18:25 --- join: nighty^ (~nighty@hokuriku.rural-networks.com) joined #forth 03:00:00 --- join: xyh (~xyh@2001:250:3002:5550:6ea1:cc0f:bcb2:b187) joined #forth 03:28:54 --- quit: atommann (Quit: Leaving) 04:04:25 --- join: Zarutian (~Adium@168-110-22-46.fiber.hringdu.is) joined #forth 04:05:08 --- join: GeDaMo (~GeDaMo@212.225.93.112) joined #forth 04:15:13 --- join: MrMobius_ (~MrMobius@2601:f:400:1241:741d:503e:b2ed:5c35) joined #forth 04:18:49 --- join: vsg1990 (~vsg1990@cpe-67-241-148-119.buffalo.res.rr.com) joined #forth 04:38:32 --- join: nighty^_ (~nighty@static-68-179-124-161.ptr.terago.net) joined #forth 04:39:20 --- quit: MrMobius_ (Ping timeout: 245 seconds) 05:01:49 --- quit: Bahman (Quit: Ave atque vale) 05:06:35 --- quit: xyh (Remote host closed the connection) 06:30:05 --- quit: Zarutian (Quit: Leaving.) 06:33:05 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 07:33:57 --- join: xyh (~xyh@2001:250:3002:5550:6ea1:cc0f:bcb2:b187) joined #forth 07:40:39 --- join: _1_Airmmie (~WhatsChat@41.203.67.170) joined #forth 07:40:55 --- part: _1_Airmmie left #forth 08:06:31 --- quit: darkf (Quit: Leaving) 08:35:28 --- quit: xyh (Remote host closed the connection) 08:50:34 --- quit: mnemnion (Remote host closed the connection) 09:52:23 --- join: mnemnion (~mnemnion@2601:9:4300:438:f443:ff03:c895:33a3) joined #forth 10:04:23 --- quit: xpoqp (Quit: WeeChat 1.1.1) 10:35:17 --- join: markm (~markm@38.122.200.194) joined #forth 10:51:25 --- join: ASau (~user@46.115.24.72) joined #forth 11:39:10 --- quit: impomatic (Ping timeout: 246 seconds) 11:46:14 yunfan: i'm not entirely sure. some compile and inline words direct to opcodes. i'm not sure how they maintain the flexibility of forth in that case. 11:46:30 others (like colorforth?) use subroutine threading (iirc). 11:46:38 mine is an old-fashioned indirect 11:51:14 --- join: impomatic (~chatzilla@199.253.200.146.dyn.plus.net) joined #forth 12:00:37 --- quit: impomatic (Ping timeout: 244 seconds) 12:01:30 --- quit: mnemnion (Read error: Connection reset by peer) 12:02:18 --- join: mnemnion (~mnemnion@c-24-23-168-196.hsd1.ca.comcast.net) joined #forth 12:19:40 --- join: xpoqp (~xpo@unaffiliated/xpoqz) joined #forth 12:27:39 bluekelp, doing auto inlining as an optimization can give immense performance benefits 12:28:03 instead of calling DUP which just does "push register, return" one simply inlines the "push register" 12:28:14 but yes. you lose the forthishness 12:28:29 and there no "See" any more. forth incs forths do NOT have a "see" 12:28:42 they have a word called see that does a disassembly not a decompilation 12:29:02 which is why forth inc relies heavily on words like view 12:29:22 a view mechanism stores source file and line number info for every word in that words header 12:30:00 markm: do you know what sort of heuristics the inlining compilers use to determine how much and how deep to inline? 12:30:04 i think view is a mistake. i dont trust ANY compiler to lay down sane code for any given example of code 12:30:27 i would think words that should be inlined have some sort of BIT in their header 12:30:37 i haven't gotten to that point yet but can imagine the "threading" overhead is huge for tight loops with lots of simple word calls 12:31:05 it is but my arm forth which is subroutine threaded does not do inlining of primitives 12:31:09 ah, interesting. good idea. sort of like the inline keyword in C 12:31:18 so every dup, drop, nip, tuck is a call to somewhere 12:31:25 :) 12:31:32 except in C its a hint 12:31:46 no guarantee the compiler will inline that at any specific use 12:32:27 right. well there's no "gurantee" a forth compiler would honor the bit, too ;) 12:33:04 i think it would be difficult for it not to 12:33:06 i'm getting close to porting jones so i'm about to embark on all this in a meaningful way (maybe - sanfus aside) 12:33:18 i think the fuzzy inlining would make the compiler way too complificated 12:33:33 snafu's is how you learn 12:33:44 but im disappointed you chose jones of isforth :) 12:33:47 well, the compiler (forth) could do what the C compiler does and descend the call tree to see how much "code" is generate either way, etc,. and decide to ignore it. 12:34:19 "could" doesn't mean most/any do. just like inline probably does inline most functions in C - even though the compiler docs say it may not 12:34:21 except forth does not lay down a call tree and again. it would complificate the compile process 12:34:48 well i had exposure to jones and the core kernel is a single source file 12:34:49 thers probably a far var more efficient forthy way of doing the same thing 12:35:05 once i get it working i'd like to start hacking on the kernel and see what i can turn it into 12:35:22 which to my mind makes it more difficult to understand. isforth keeps all math/logic words in one source file. all stack manipulation in another source file 12:35:24 etc etc 12:35:55 but what i want is a complete, minimal, forth that i can comprehend at once 12:35:56 isforths soruces are modular. modular sources are MUCH easier to read if the modules are well COMMENTED 12:36:02 jones forth is not commented at all 12:36:06 isforth is very heavily commented 12:36:08 a compiler, minimal word primitives, and inner/out loop. no more. 12:36:26 bc this is really all just to mess with bare metal programming, right now 12:36:38 actually bluekelp the isforth kernel is fairly minimal and you have another advantage.... 12:36:44 jones isnt here.. i am :) 12:36:49 Have you looked at MAF? 12:37:05 maf? 12:37:21 "MAF is a minimal ANS Forth. It is written as an educational tool for anyone planning to implement a Forth and includes extensive documentation." ftp://ftp.taygeta.com/pub/Forth/Applications/ANS/maf1v02.zip 12:37:39 taygetta is still active? 12:37:40 ! 12:37:51 erm one t not 2 12:38:03 It appears so :) 12:38:22 i sent isforth to him years ago, he had it on his ftp for a while but last time i looked it was gone :P 12:38:49 This is where I found the link to MAF http://www.figuk.plus.com/fame.htm 12:39:16 I've had it on my machine for ages, couldn't remember wherw I found it :P 12:40:32 maf does not ship with a Makefile or other buildable docs. it fails my first test. :( 12:41:34 Did you read the readme.1st? 12:42:47 bluekelp, isforth has a makefile for the kernel :)) 12:44:13 Speaking of sites not working, does anyone know what happened to forthfreak? 12:49:24 --- join: impomatic (~chatzilla@199.253.200.146.dyn.plus.net) joined #forth 13:01:55 GeDaMo: yes. the readme is basically just a manifest of the files. no build instructions 13:02:17 "MAFLOAD.SEQ - this short file loads and runs the remaining 4 files." 13:04:20 i think the guy that created forthfreak used to hang in here 13:04:27 long time ago 13:04:55 Yeah, I used to see him in ##asm as well 13:05:19 i ferget his nic 13:05:58 I think it began with a 'B' but I could be wrong 13:06:53 it is a forth file. there is no asm to bootstrap/build 13:06:54 maybe it's not clear i'm working on a bare metal system with just enough asm code to get into protected mode + keyboard input 13:06:54 nothing else to rely on or build on top of 13:07:03 Ah 13:07:56 I wrote an incomplete self booting Forth a long time ago 13:08:24 i considered doing on on my beagleboard xm 13:08:39 well porting my linux arm32 forth to bare bones 13:08:46 --- quit: vsg1990 (Quit: Leaving) 13:09:24 Looks like 'Bushmills' runs ForthFreak 13:10:12 isn't bushmills a whiskey? 13:10:21 because that would be cool 13:10:22 :) 13:10:33 thats not the name i remember from here 13:10:51 https://en.wikipedia.org/wiki/Old_Bushmills_Distillery 13:10:53 the person running it might not be the person im thinking of 13:17:00 --- quit: DKordic (Read error: Connection reset by peer) 13:17:35 --- join: DKordic (~user@178-223-60-47.dynamic.isp.telekom.rs) joined #forth 13:28:10 --- quit: DKordic (Read error: Connection reset by peer) 13:28:33 --- join: DKordic (~user@178-223-60-47.dynamic.isp.telekom.rs) joined #forth 13:46:29 --- quit: GeDaMo (Remote host closed the connection) 13:47:26 --- quit: DKordic (Read error: Connection reset by peer) 13:47:56 --- join: DKordic (~user@178-223-60-47.dynamic.isp.telekom.rs) joined #forth 14:09:13 --- quit: mnemnion (Remote host closed the connection) 14:36:54 --- join: Mat4 (~claude@ip188619bb.dynamic.kabel-deutschland.de) joined #forth 14:36:56 hello 14:37:07 hey hey 14:37:29 hi bluekelp 14:38:04 * Mat4 read the logs 14:42:51 --- quit: markm (Quit: brb) 14:43:13 --- join: mark4 (~mark4@38.122.200.194) joined #forth 14:54:52 --- join: mnemnion (~mnemnion@c-24-23-168-196.hsd1.ca.comcast.net) joined #forth 15:21:25 --- quit: mark4 (Quit: bbl) 15:21:29 --- quit: joneshf-laptop (Remote host closed the connection) 15:32:45 --- quit: true-grue (Read error: Connection reset by peer) 15:47:40 --- quit: DKordic (Read error: Connection reset by peer) 15:47:59 --- join: DKordic (~user@178-223-60-47.dynamic.isp.telekom.rs) joined #forth 15:57:36 ciao 15:57:40 --- quit: Mat4 (Quit: Verlassend) 16:39:15 --- quit: DKordic (Read error: Connection reset by peer) 16:39:34 --- join: DKordic (~user@178-223-60-47.dynamic.isp.telekom.rs) joined #forth 16:44:22 --- quit: DKordic (Client Quit) 17:27:09 --- quit: nighty^ (Quit: Disappears in a puff of smoke) 18:11:30 --- quit: mnemnion (Remote host closed the connection) 18:18:30 --- join: karswell (~user@189.167.125.91.dyn.plus.net) joined #forth 18:35:37 --- quit: proteusguy (Ping timeout: 255 seconds) 18:38:24 --- join: xyh (~xyh@2001:250:3002:5550:6ea1:cc0f:bcb2:b187) joined #forth 18:48:07 --- join: proteusguy (~proteusgu@ppp-110-168-229-215.revip5.asianet.co.th) joined #forth 18:48:07 --- mode: ChanServ set +v proteusguy 19:08:39 --- quit: irsol (Remote host closed the connection) 19:14:41 --- join: joneshf-laptop (~joneshf@98.208.35.89) joined #forth 19:32:57 --- join: irsol (~irsol@unaffiliated/contempt) joined #forth 19:41:01 --- join: darkf (~darkf___@unaffiliated/darkf) joined #forth 20:00:03 --- join: atommann (~atommann@58.251.2.94) joined #forth 20:39:07 --- quit: JohnMarkM (Quit: Leaving) 21:12:01 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 22:02:17 --- join: heeep (~joe128@ip98-169-179-30.dc.dc.cox.net) joined #forth 22:02:20 hi 22:02:48 hi there. what brings you to #forth today? 22:03:08 i'm wondering how exactly forth works 22:03:20 like what is it 22:04:49 that is sort of a deep question. 22:05:04 you might try reading the source of something like yourforth 22:05:29 or there is: http://www.colorforth.com/POL.htm 22:05:57 can you narrow your question down a bit? 22:08:25 will learning forth help me get a job 22:09:08 very unlikely. 22:10:49 dang 22:15:22 have a nice day 22:15:24 --- part: heeep left #forth 22:15:26 heeep: i dont think learning forth would help you get a job,if all you want is this, turn to other popular lang like c/java/.net , and after you got a job, try to learn forth for helping you improve your thiking and practisi 22:22:15 --- quit: ASau (Ping timeout: 264 seconds) 22:28:54 --- join: Bahman (~Bahman@85.133.140.132) joined #forth 22:42:21 lol - i wonder what made him wonder if forth would help him get a job 22:42:47 and good luck with a career if you're only in it for the money and not curiousity 22:45:20 bluekelp: maybe he is targeting job at motherboard factories? 22:48:03 i suspect not since he didn't know about forth to begin with. but who knows? 23:01:15 Anyone looking to learn a language in order to "get a job" isn't someone you want using your language probably. 23:02:36 but there're so many people actually do follow this order 23:02:52 Any that are any good? 23:03:57 bad software can generate maintaining fee :] 23:04:24 exactly... something we want to avoid. 23:12:37 you might good at coding , but not at marketing and econemy 23:26:24 --- quit: impomatic (Ping timeout: 250 seconds) 23:38:18 --- quit: xyh (Ping timeout: 256 seconds) 23:49:29 --- join: xyh (~xyh@2001:250:3002:5550:6ea1:cc0f:bcb2:b187) joined #forth 23:59:59 --- log: ended forth/15.04.08