00:00:00 --- log: started forth/15.04.10 00:23:27 yunfan, sounds like a great idea. I've never written "real" forth code for any significant task, however. was always forth-ish languages that I built for embedded/specialized devices. I wouldn't really have an example I could video off hand but I think some people here might. 00:33:52 proteusguy: you built for emebed devices? oops 00:36:23 when I do forth stuff yes. always direct to metal - no OS. 00:37:21 does that include router and usb devices? 00:39:15 --- quit: proteusguy (Remote host closed the connection) 00:43:41 I found that PIC is really an interesting arch :: http://pictutorials.com/Flash_Tutorials.htm 00:45:08 xyh: i check your website, the subject are interesting, hope you finished them 00:45:49 :) 00:46:28 the interpreter is finished, have you gave it a little test ? 00:46:54 nope, i dont know how to use flat assembler, i only use gas 00:47:33 fasm is much easier then gas, just "fasm src-file [obj-file]" 00:47:54 you are using 64bit linux ? 00:49:17 no, i am using a 32bite qemu system on my mac osx 00:49:26 for learning asm 00:49:36 it has a tinycore linux installed 00:49:49 and i installed binutils for compiling 00:51:51 you just need to install fasm (it is a 32bit program), and type "make linux32" to compile my interpreter 00:52:06 I am starting to write little programs in it already, some functions to do number theory stuffs (they will be used to implement hash-tables) 00:54:42 even install that, i need first be familliar with fasm's syntax 00:59:17 --- join: gabriel_laddel (~user@unaffiliated/gabriel-laddel/x-9909917) joined #forth 00:59:42 fasm's syntax is much more clear then gas' IMO, and one can always learn them along the way reading my code. there are also simple examples included in fasm's source package. 01:09:03 --- quit: gabriel_laddel (Remote host closed the connection) 01:12:43 sorry, but i like att syntax, which made it clear to know which type of the symbol refer to 01:14:58 --- join: JDat (JDat@89.248.91.5) joined #forth 01:23:33 --- join: nighty^ (~nighty@hokuriku.rural-networks.com) joined #forth 02:01:34 --- quit: impomatic (Ping timeout: 265 seconds) 02:08:07 --- join: proteusguy (~proteusgu@183.89.92.65) joined #forth 02:08:07 --- mode: ChanServ set +v proteusguy 02:09:31 --- quit: mnemnion (Remote host closed the connection) 02:25:32 --- join: true-grue (~grue@95-27-156-22.broadband.corbina.ru) joined #forth 02:37:09 --- join: impomatic (~chatzilla@59.73.90.146.dyn.plus.net) joined #forth 03:03:29 --- join: atommann (~atommann@58.251.2.94) joined #forth 03:39:50 --- join: GeDaMo (~GeDaMo@212.225.93.112) joined #forth 03:59:39 --- quit: atommann (Ping timeout: 244 seconds) 04:49:48 --- join: atommann (~atommann@58.251.2.94) joined #forth 05:37:42 --- quit: xyh (Remote host closed the connection) 05:54:41 --- quit: JDat (Ping timeout: 250 seconds) 05:59:09 --- join: impomatic_ (~chatzilla@59.73.90.146.dyn.plus.net) joined #forth 06:00:52 --- quit: impomatic (Ping timeout: 276 seconds) 06:01:33 --- join: impomatic (~chatzilla@59.73.90.146.dyn.plus.net) joined #forth 06:03:14 --- join: JDat (JDat@89.248.91.5) joined #forth 06:04:46 --- quit: impomatic_ (Ping timeout: 256 seconds) 06:16:59 --- join: JDat` (JDat@89.248.91.5) joined #forth 06:18:09 --- quit: atommann (Ping timeout: 252 seconds) 06:18:19 --- quit: JDat (Ping timeout: 250 seconds) 06:25:11 --- join: karswell` (~user@158.9.199.146.dyn.plus.net) joined #forth 06:26:23 --- quit: karswell (Ping timeout: 250 seconds) 06:44:27 --- join: kumul (~mool@adsl-72-50-85-16.prtc.net) joined #forth 06:46:01 --- quit: Quozl`_ (Quit: No Ping reply in 180 seconds.) 06:49:55 --- join: Quozl` (~quozl@owl.laptop.org) joined #forth 07:06:02 --- quit: proteusguy (Remote host closed the connection) 07:08:30 --- join: proteusguy (~proteusgu@183.89.92.65) joined #forth 07:08:31 --- mode: ChanServ set +v proteusguy 07:13:32 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 07:17:08 --- quit: darkf (Quit: Leaving) 07:46:21 --- join: xyh (~xyh@2001:250:3002:5550:6ea1:cc0f:bcb2:b187) joined #forth 07:47:44 --- join: atommann (~atommann@222.248.72.156) joined #forth 08:03:48 --- join: kumool (~mool@adsl-72-50-85-16.prtc.net) joined #forth 08:05:00 --- quit: kumool (Client Quit) 08:05:14 --- quit: atommann (Ping timeout: 252 seconds) 08:07:43 --- join: vsg1990 (~vsg1990@cpe-67-241-148-119.buffalo.res.rr.com) joined #forth 08:19:01 --- join: atommann (~atommann@155.94.207.116) joined #forth 08:22:05 --- quit: atommann (Remote host closed the connection) 08:25:58 --- quit: JDat` (Ping timeout: 272 seconds) 08:35:02 --- quit: xyh (Ping timeout: 265 seconds) 08:36:35 --- join: atommann (~atommann@155.94.207.116) joined #forth 08:37:49 --- join: xyh (~xyh@2001:250:3002:5550:6ea1:cc0f:bcb2:b187) joined #forth 08:38:23 --- quit: atommann (Remote host closed the connection) 08:50:49 --- quit: xyh (Ping timeout: 256 seconds) 09:00:44 --- join: xyh (~xyh@2001:250:3002:5550:6ea1:cc0f:bcb2:b187) joined #forth 09:15:16 --- join: kulp (kulp@unaffiliated/kulp) joined #forth 09:17:36 I'm getting back to my forth implementation on my own architecture. given that it's mostly a toy, this probably doesn't matter - but what standard or document would people recommend for a first implementation that would like to run some 3rdparty codes ? 09:20:06 ANS Forth probably 09:44:21 yeah that's what I was aiming for 09:44:46 I had just heard some opinions that ANS Forth had departed from the spirit of forth. of course opinions are cheap 09:55:18 to run what "3rdparty codes" ? 09:56:45 that's ill-defined. mostly I'm thinking of little demonstrations or games (e.g. http://win32forth.sourceforge.net/downloads/tetris.f 09:57:10 ). I guess I'm trying to figure out what Forth would cover what group of codes. too open-ended a question ? 10:09:34 --- quit: true-grue (Read error: Connection reset by peer) 10:09:54 --- join: true-grue (~grue@95-27-156-22.broadband.corbina.ru) joined #forth 10:10:40 --- quit: mnemnion (Read error: Connection reset by peer) 10:11:05 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 10:18:32 --- join: JDat (JDat@89.248.91.5) joined #forth 10:46:46 --- join: ASau (~user@46.115.177.234) joined #forth 10:52:18 --- quit: kumul (Ping timeout: 265 seconds) 10:57:26 --- join: JDat` (JDat@89.248.91.5) joined #forth 10:57:47 --- quit: JDat (Read error: Connection reset by peer) 10:58:02 --- quit: JDat` (Client Quit) 10:58:11 --- join: JDat (JDat@89.248.91.5) joined #forth 11:30:13 --- join: kumul (~mool@adsl-72-50-87-208.prtc.net) joined #forth 11:32:36 --- join: gabriel_laddel (~user@unaffiliated/gabriel-laddel/x-9909917) joined #forth 11:35:01 --- quit: kumul (Ping timeout: 264 seconds) 11:39:17 --- join: justgreg (~greg@125.164.153.204) joined #forth 12:02:47 --- quit: xyh (Remote host closed the connection) 12:13:10 --- quit: gabriel_laddel (Remote host closed the connection) 12:39:15 --- join: kumul (~mool@adsl-72-50-87-144.prtc.net) joined #forth 12:49:23 --- join: ehaliewicz (~user@204.11.226.50.static.etheric.net) joined #forth 12:49:46 --- quit: joneshf-laptop (Ping timeout: 240 seconds) 12:58:01 --- quit: vsg1990 (Quit: Leaving) 13:01:48 kulp, do you anticipate running any existing forth source code or just want to write your own. few forthers in my experience ever desire the former. in which case ANS forth is kinda pointless. 13:05:40 --- quit: kumul (Ping timeout: 272 seconds) 13:05:54 --- join: markm (~markm@38.122.200.194) joined #forth 13:10:10 proteusguy : well I anticipate most of the code I use to be my own. but I want to run other people's code, as part of the value of my forth is demonstration of the general applicability of the platform I'm writing it for 13:11:07 You could have an ANS compatibility layer 13:13:22 it seems like the JS-Forth at http://repl.it/languages/Forth does that 13:13:27 (with the `ans` word) 13:14:06 i honestly do not understand why anyone would want to use an ANS forth. 13:14:40 see that's the view I want to understand better 13:14:43 ive worked with forth inc;s forths, they are horrendously over compleificated 13:14:44 please elaborate, markm 13:14:45 kulp, very few people have an ANS forth. Chuck Moore, forth's inventor, doesn't use ANS forth. 13:15:01 forth is supposed to be simple and elegant 13:15:09 ans forth destroys both of those features 13:15:36 kulp, forth isn't a language designed to be platform independent, it's a language designed to be easily ported to any platform but still use that platform in the most optimal manner possible. 13:16:08 forth is not a programming language perse. its a programming language programming language 13:16:10 kulp, ANS forth attempted to introduce platform-independence to forth. The architectural drivers of those two goals are in great conflict. 13:16:17 proteusguy : I see 13:16:22 i.e its a language you can use to define a programming language 13:16:59 kulp, forth is a very personal thing generally. you just build enough of it so that you can build the DSL that fits the application you have at hand. Anything more than that is considered a waste. 13:17:09 "The ans forth standard does not describe the forth language but a language of the same name" 13:17:14 -- chuck moore -- 13:17:43 i.e. forth isnt just extensible its DEextensible :) 13:18:07 immagine being able to remove features of the c programming language your specific application does not use 13:18:20 kulp, so make YOUR forth. Having a good standard list of words is a useful thing but only insofar as it's an example of what other's have found useful to them. Still only take from that what you have practical need for. 13:22:08 proteusguy, markm : thanks, useful perspectives ! 13:22:22 my perspective is rabidly ANTI ans :) 13:22:25 grrrr 13:22:41 * kulp puts on his thick leather gloves and gets a pitchfork 13:23:02 pickforth 13:23:03 might need some silver bullets 13:23:32 right now am rabidly anti Bluez (linux bluetooth stack) 13:23:45 sounds like rabies is your life-force 13:24:00 ("losing the will to survive" played through my headphones just then) 13:24:16 all i need to do is a simple BLE scan for advertisement packets from beacons. no documentation other than API prototypes and Z E R O examples on the net other than python 13:24:26 and those examples are all using a deprecated API 13:29:03 --- join: Anarch_ (~olaf@c-73-53-61-168.hsd1.wa.comcast.net) joined #forth 13:31:22 There was one forth processor that had a great mini implementation of forth with excellent docs. I can't find the link now. markm - I brought it up here before. What's Chuck's forth chip prior to greenarrays? 13:32:19 C18 13:33:21 That's colorforth though right? Isn't there another good forth chip out there? Can't believe I can't find this in my local docs. 13:33:48 --- join: kumul (~mool@adsl-72-50-86-144.prtc.net) joined #forth 13:34:41 Was this a recent processor? 13:36:23 erm the f21? 13:36:34 --- quit: Anarch_ (Quit: WILL TROLL FOR FOOD) 13:36:54 thers chips that nasa has made use of i forget what chips. the maker of those chips stole CMs work 13:36:59 harris? 13:37:12 http://www.ultratechnology.com/f21d.htm 13:37:14 im not doing BLE dev in forth 13:37:19 unfortunately 13:40:10 proteusguy: can you remember anything else about this processor? 13:42:03 It's not so much about the processor as it was an excellent terse but complete document of what a good but small forth implementation would likely need. Had never seen it laid out better than this. Damned if I can't find it now in any of my personal docs or online. 13:42:26 i hate it when that happens lol 13:42:34 kulp, what are you using to implement your forth? what's the base language/target cpu? 13:43:44 proteusguy: http://www.excamera.com/sphinx/fpga-j1.html ? 13:44:47 malyn, wasn't the J1 but that is a good one as well. 13:46:42 proteusguy : the base language is the assembly language for my own architecture. I based it on CamelForth. example : https://github.com/kulp/tenyr/blob/develop/forth/level1.tas.cpp 13:47:10 (level0.tas.cpp has a lot more machine code definitions) 13:47:17 kulp, you build your own cpu? like on an fpga? 13:47:26 proteusguy : yes 13:47:42 it's not really forth-like CPU at all. register machine and all. but forth seemed like a good way to get an environment on it quickly 13:47:54 kulp, excellent! Then check out the b16 project by Bernd Paysan. 13:47:55 strangely, since I left off working on the forth I have LCC basically ported now ;) 13:48:03 proteusguy : thanks, will do ! 13:48:19 I would like to build a stack machine sometime 13:48:26 b16 is a stack machine in fpga that implements forth as its own command set. 13:49:03 kulp, does your machine at least support 2 stacks efficiently? 13:49:43 proteusguy : stacks are a convention only on my architecture, so it supports N stacks [in]efficiently ;) 13:50:15 I don't really expect tenyr to be very good at running forth from a code efficiency standpoint 13:50:27 (but then tenyr isn't really going to be efficient at anything, ever) 13:50:28 but it's fun ! 13:50:46 hahaha well forth is a breeze with 2 stacks (such as what the 6809 had) but sure you can do it however you like. how many registers? 13:50:53 every 32-bit word is a valid instruction on my architecture. so there are a few dozen thousand no-ops at least 13:51:04 16 registers of which 2 are special (PC and zero register) 13:51:20 you could look at this if you were very bored https://github.com/kulp/tenyr/wiki/Assembly-language 13:51:22 --- join: Mat4 (~Claude@ip5b42e358.dynamic.kabel-deutschland.de) joined #forth 13:51:29 hello 13:51:35 Hi Mat4 :) 13:51:48 hello GeDaMo 13:52:05 hmm.... some people make a register set act as a short stack. but that's probably not enough for two. 13:52:16 i think using a register for zero is wasteful 13:52:22 i.e. this registe is always 0 13:52:38 yes, but you're trying to be efficient 13:52:41 I'm trying to be orthogonal 13:52:45 kulp, anyway - building a forth on your cpu is probably the quickest way to get useful code running on it in my experience. good luck! 13:52:47 my architecture doesn't make any sense without a zero register 13:53:04 the cycles it saves where you need zero are out balanced by the number of times that register could have been used otehrwise 13:53:04 proteusguy : thanks ! yeah I agree 13:53:06 proteusguy: you mean data-stacks with size < 16 elements ? 13:53:20 markm : actually on my architecture 99% of instructions use the zero register 13:53:40 (due to this https://github.com/kulp/tenyr/wiki/Assembly-language#instruction-shorthand) 13:54:07 hmm, I think you mean a stack of registers 13:54:08 (but this is only true because I decided to take an impractical idea and run with it) 13:55:09 mental note to self: do not emerge firefox and crossdev avr at the same time in a virtualbox vm again 13:56:52 * kulp checks to see if he has stepped into a timewarp 13:57:15 people still emerge things ? do they still -funroll-loops ? 13:57:19 kulp, cool little project. 13:57:26 no 13:57:34 i never optimize for speed. 13:58:05 Mat4, I mean fitting both a data and return stack in <15 registers. 13:58:05 people use terms like "ricer use flags" because nubs dont know how to do use flags right 13:58:31 people use terms like "ricer use flags" because nubs dont know how to do use flags right 13:58:44 tho i deliberately did not put X on it 13:59:18 but even with what i have installed a trimmed down raspian would be closer to 2 gigs 14:00:21 proteusguy : it's kept my attention for over three years which is about three years longer than any other project I've done 14:00:40 (probably because it's about the broadest computing project you could imagine : "do things to make a computing system") 14:06:22 kulp, when and if I ever achieve this mythical substance called free time, I have a stack machine design in mind that I want to implement as well. :) 14:07:08 proteusguy : tenyr has basically been relegated to my half-hour bus trips to and from work :P 14:07:27 but hey that's how Kazushige Goto got famous for hand-optimised assembly 14:07:36 * kulp does some quick math 14:07:45 I should be famous in about ... ten years 14:09:09 --- quit: JDat (Ping timeout: 250 seconds) 14:09:25 --- quit: ehaliewicz (Remote host closed the connection) 14:10:21 thats what i said 10 years ago 14:10:42 well, now I know who you are. that should be fame enough for anyone 14:10:56 k. whers my fortune? 14:11:02 oh you wanted fame AND fortune ? 14:11:10 duh 14:11:22 sorry you should have made that specific in your original order 14:13:31 --- join: JDat (JDat@89.248.91.5) joined #forth 14:18:03 --- quit: GeDaMo (Remote host closed the connection) 14:25:55 --- join: Tod-Autojoined (Tod@50-198-177-186-static.hfc.comcastbusiness.net) joined #forth 14:26:06 --- quit: TodPunk (Read error: Connection reset by peer) 14:28:46 --- quit: mnemnion (Read error: Connection reset by peer) 14:29:11 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 14:45:46 --- join: vsg1990 (~vsg1990@cpe-67-241-148-119.buffalo.res.rr.com) joined #forth 14:47:48 ciao 14:47:50 --- quit: Mat4 (Quit: Verlassend) 15:06:30 --- quit: true-grue (Read error: Connection reset by peer) 15:09:03 --- quit: JDat () 15:49:05 --- quit: impomatic (Read error: Connection timed out) 15:51:01 --- join: impomatic (~chatzilla@59.73.90.146.dyn.plus.net) joined #forth 15:54:40 --- quit: markm (Quit: Leaving) 15:56:39 --- quit: impomatic (Ping timeout: 264 seconds) 15:57:40 --- join: impomatic (~chatzilla@59.73.90.146.dyn.plus.net) joined #forth 16:12:28 --- join: atommann (~atommann@222.248.72.156) joined #forth 16:18:55 --- quit: proteusguy (Remote host closed the connection) 16:46:05 --- quit: kumul (Ping timeout: 272 seconds) 17:03:57 --- join: kumul (~mool@adsl-72-50-85-80.prtc.net) joined #forth 17:05:03 --- join: saml_ (~saml@cpe-24-102-97-97.nyc.res.rr.com) joined #forth 17:21:27 --- quit: Quozl` (Ping timeout: 240 seconds) 17:24:06 --- join: joneshf-laptop (~joneshf@c-76-105-7-88.hsd1.ca.comcast.net) joined #forth 17:51:56 --- join: Quozl` (~quozl@activation.laptop.org) joined #forth 18:04:27 --- quit: atommann (Ping timeout: 264 seconds) 18:06:17 --- quit: nighty^ (Remote host closed the connection) 18:06:20 --- quit: joneshf-laptop (Ping timeout: 256 seconds) 18:15:02 --- join: joneshf-laptop (~joneshf@c-76-105-7-88.hsd1.ca.comcast.net) joined #forth 18:30:00 --- quit: kumul (Quit: Leaving) 18:40:30 --- quit: ASau (Remote host closed the connection) 18:57:11 --- join: johnmark_ (~johnmark@c-73-51-235-57.hsd1.il.comcast.net) joined #forth 18:57:41 --- nick: johnmark_ -> JohnMarkM 18:59:44 --- quit: mnemnion (Remote host closed the connection) 19:04:31 --- join: atommann (~atommann@222.248.72.156) joined #forth 19:20:38 --- join: ASau (~user@46.115.177.234) joined #forth 19:26:25 --- quit: atommann (Ping timeout: 246 seconds) 19:33:02 --- join: atommann (~atommann@222.248.72.156) joined #forth 19:33:34 --- join: mnemnion (~mnemnion@c-69-181-158-115.hsd1.ca.comcast.net) joined #forth 19:56:26 --- join: darkf (~darkf___@unaffiliated/darkf) joined #forth 20:14:02 --- quit: mnemnion (Remote host closed the connection) 20:15:07 --- join: mnemnion (~mnemnion@c-69-181-158-115.hsd1.ca.comcast.net) joined #forth 20:18:29 --- quit: mnemnion (Remote host closed the connection) 20:24:26 --- quit: ASau (Remote host closed the connection) 20:29:47 --- quit: joneshf-laptop (Remote host closed the connection) 20:30:45 --- join: mnemnion (~mnemnion@c-69-181-158-115.hsd1.ca.comcast.net) joined #forth 20:37:50 low volume channel, eh? 20:39:32 yes 20:39:52 it comes in fits, and a lot of people are timezone specific 20:40:04 plus it's friday night so we're all out clubbing it 20:40:11 i'm in a club right now 20:40:24 UNCE! UNCE! UNCE! UNCE! 20:40:27 * bluekelp dances 20:40:29 UNCE! UNCE! UNCE! UNCE! 20:42:59 --- quit: mnemnion (Remote host closed the connection) 20:45:41 --- join: kumul (~mool@adsl-72-50-85-80.prtc.net) joined #forth 20:47:02 --- join: mnemnion (~mnemnion@c-69-181-158-115.hsd1.ca.comcast.net) joined #forth 20:48:33 Dang. I'm in the wrong timezone. 20:54:50 --- quit: atommann (Ping timeout: 250 seconds) 21:09:55 --- quit: mnemnion (Remote host closed the connection) 21:10:35 --- join: mnemnion (~mnemnion@c-69-181-158-115.hsd1.ca.comcast.net) joined #forth 21:15:03 --- quit: mnemnion (Ping timeout: 256 seconds) 21:23:10 --- join: Bahman (~Bahman@85.133.140.132) joined #forth 21:28:54 --- quit: JohnMarkM (Quit: Leaving) 21:31:53 if people dislike ans forth, why not made a reduced and better standard to replace it? 21:32:59 standards bodies (line ANSI) tend not to generate simple output 21:33:42 but you always need to use some other's forth sharing platform with other programmer 21:34:32 if there arnt a standard about those words details or behaviors, it might cause problem 21:35:20 https://xkcd.com/927/ 21:35:29 as i knew, dup over tib ,etc such words are already being the standard , no one made word in there forth named `dup` but doing other things 21:37:24 tangentstorm: what i mean is small standards which you can choose to suppose 21:38:16 21:38:54 i don't think there are enough people using forth to really even worry about standards anymore. 21:40:50 ... and the people who are are using proprietary implementations that have been around for decades and aren't changing anyway, afaik. 21:41:26 you could make it for new comer 21:41:59 * justgreg feels like someone is trolling 21:58:52 --- join: joneshf-laptop (~joneshf@98.208.35.89) joined #forth 22:16:39 --- join: xyh (~xyh@2001:250:3002:5550:6ea1:cc0f:bcb2:b187) joined #forth 22:34:46 --- nick: Tod-Autojoined -> TodPunk 22:41:52 --- quit: xyh (Remote host closed the connection) 22:48:39 --- quit: saml_ (Remote host closed the connection) 22:57:41 --- quit: vsg1990 (Quit: Leaving) 23:18:46 --- join: gabriel_laddel (~user@unaffiliated/gabriel-laddel/x-9909917) joined #forth 23:39:56 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 23:41:22 --- join: xyh (~xyh@2001:250:3002:5550:6ea1:cc0f:bcb2:b187) joined #forth 23:59:59 --- log: ended forth/15.04.10