00:00:00 --- log: started forth/18.02.17 01:10:50 --- join: smokeink (~smokeink@n11212033208.netvigator.com) joined #forth 01:23:39 --- join: nighty- (~nighty@s229123.ppp.asahi-net.or.jp) joined #forth 02:10:36 --- quit: lijero (Remote host closed the connection) 03:35:13 --- quit: proteusguy (Remote host closed the connection) 03:40:03 --- join: reepca`` (~user@208.89.170.230) joined #forth 03:41:39 --- quit: reepca` (Remote host closed the connection) 03:59:18 --- join: ncv (~neceve@2a02:c7d:c5c9:a900:1ec6:932f:1b02:d27e) joined #forth 03:59:18 --- quit: ncv (Changing host) 03:59:18 --- join: ncv (~neceve@unaffiliated/neceve) joined #forth 04:00:29 --- quit: johnmark_ (*.net *.split) 04:07:22 --- join: johnmark_ (~johnmark@d53-64-121-247.nap.wideopenwest.com) joined #forth 04:15:24 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 04:30:02 --- join: Zarutian_PI (~3.1415@173-133-17-89.fiber.hringdu.is) joined #forth 04:44:43 --- quit: dys (Ping timeout: 276 seconds) 04:46:09 --- join: dys (~dys@tmo-123-129.customers.d1-online.com) joined #forth 05:00:22 --- quit: smokeink (Read error: Connection reset by peer) 05:00:56 --- join: smokeink (~smokeink@59-125-75-78.HINET-IP.hinet.net) joined #forth 05:05:50 --- quit: wa5qjh (Remote host closed the connection) 05:54:42 --- join: johnnymacs (~user@13.85.64.199) joined #forth 05:55:42 I am very sorry about the way I behaved earlier. I hope my behavior on reddit shows I am trying to read up on forth more and be more civil. 05:58:42 who are you? 05:59:56 --- nick: johnnymacs -> dorothyw 06:27:03 --- quit: EvanCarroll (Ping timeout: 248 seconds) 06:52:09 dorothyw: you're not in my irc client's scrollback buffer and i don't read reddit. hence you are forgiven (as far as i am concerned) 06:54:52 My previous nick was John[Lisbeth] but now I am on a thre nick system. 06:55:06 I am a proponent of forth and concatenative programming. 06:55:50 a three nick system sounds confusion, but your choice :) 07:09:19 I have three different personalities. The one that the people in this channel are most familiar with is John. I have a different personality from him. 07:10:07 ok 07:12:08 So long as I am welcome here I'd like to discuss forth. I am very interested in forth. 07:13:20 yes, you're welcome here (as far as i am concerned) 07:17:06 --- join: EvanCarroll (~ecarroll@38.142.29.4) joined #forth 07:20:39 lol 07:21:14 jn, he's a troll. do yourself a favor and keep that in mind when reading anything he writes 07:21:38 I would say that John has a very trollis personality, though my personality is very different from his. 07:21:43 *trollish 07:22:08 --- join: EvanCarr1ll (~ecarroll@38.142.29.4) joined #forth 07:22:31 --- quit: EvanCarroll (Ping timeout: 248 seconds) 07:26:04 Right now I am working on a compiler for my forth. It is not ans compliant and it compiles to c. It is a very sparse forth with a stack only 8 deep. It has no interpretation features and no dictionary. It currently can not be used as a repl. 07:27:00 --- join: saml_ (~saml@pool-100-2-73-38.nycmny.fios.verizon.net) joined #forth 07:31:35 --- quit: saml_ (Remote host closed the connection) 07:50:55 --- quit: smokeink (Ping timeout: 265 seconds) 08:05:25 --- join: tomlukeywood (~quassel@host-92-19-232-58.static.as13285.net) joined #forth 08:06:17 --- quit: tomlukeywood (Client Quit) 09:17:57 --- join: lijero (~lijero@unaffiliated/lijero) joined #forth 09:21:03 I am inspired by color forth in my designs. My hope is to create a language which is as fast as c or faster 09:25:34 --- join: Gromboli (~Gromboli@static-72-88-80-103.bflony.fios.verizon.net) joined #forth 09:26:42 dorothyw: C is dog fucking slow. 09:26:48 so is C++ 09:27:27 Two issues: first, I can't convince other high level programmers that c is slow. Also I want portability. 09:27:52 I believe forth can be much faster than c if it is simple and the compiler is written in the same forth for a specific assembler 09:29:59 that you can or cannot convince other high level programmers is none of my concern. I have experience of C slowness firsthand and from CS professors I know that are using Coq and likes for prooving and other programming languages for HPC. 09:30:42 and beleave me, C or C++ is a bad fit for any serious HPC. 09:31:01 I don't disagree. 09:31:35 One of my desires is to convince other high level unix programmers to use forth as a systems programming tool. 09:32:43 The issue is that when many high level programmers look at forth they look at tests done in gforth in interpreted/slow mode 09:33:21 I want to see if I can make a language as fast or faster than c to difinitively prove with benchmarks the speed forth can achieve 09:35:55 well, be carefull not to be hobbled by stupid assumptions made by the ISA designers. 09:36:21 If there were a language faster than c that was as portable I may compile to that instead 09:36:44 rust maybe 09:36:59 wait, portable to what? 09:38:06 Well I'd like my code to run on all the unix clones at the least 09:38:59 C is the one language that all UNIXes should have a compiler for 09:41:17 If I am lucky then when I get my compiler working it will compile to something that is faster than c. 09:41:36 fortran might also have good and widespread support among unixes... 09:42:18 What advice would you give for making a forth execute as fast as possible? 09:43:00 use benchmarks and profiling tools 09:44:21 and some of the articles on http://emulators.com/ about optimization might be worth reading as well 09:44:46 My friend who is an electrical engineer says he does not trust heavily optimizing compilers 09:53:40 One thing I am considering in my own version of my forth is to make memory a dynamically allocated hash table 10:02:27 what do you mean by "memory" in this case? 10:04:13 There is some interface in every forth to allocate more words for use. In my forth I utilize c's malloc 11:45:39 --- nick: EvanCarr1ll -> EvanCarroll 12:14:33 --- quit: ncv (Remote host closed the connection) 12:19:39 dorothyw: not in *every* forth. I’ve seen and used plenty that lack anything like malloc/free. 12:54:56 --- quit: EvanCarroll (Ping timeout: 265 seconds) 12:56:40 sure, but plenty of forths run on systems where there isn't enough memory for dynamic allocation to even make sense 12:57:14 C compilers target plenty such too, but they just don't have a conforming standard library 12:58:56 using hash table for memory can be nice, and you could even use a scheme where "pointers" are never reused, but fast it would not be 14:19:18 --- quit: impomatic (Ping timeout: 276 seconds) 14:29:06 --- join: Zarutian_PI2 (~3.1415@173-133-17-89.fiber.hringdu.is) joined #forth 14:29:06 --- quit: Zarutian_PI (Read error: Connection reset by peer) 14:36:54 --- quit: Darksecond_ (Read error: Connection reset by peer) 14:40:11 --- join: Darksecond (~darksecon@a82-94-53-70.adsl.xs4all.nl) joined #forth 14:58:54 --- quit: johnmark_ (Quit: Leaving) 15:10:00 --- quit: lijero (Ping timeout: 276 seconds) 15:20:33 --- join: lijero (~lijero@unaffiliated/lijero) joined #forth 15:39:15 --- join: wa5qjh (~quassel@175.158.225.199) joined #forth 15:39:15 --- quit: wa5qjh (Changing host) 15:39:15 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 16:18:03 Well for my main system there won't be a hash table 16:18:30 there is a word in my forth called root and it returns the pointer to the only variable 16:19:01 and so you have to start by creating an array, recieving a pointer on the stack, and saving it to root 16:22:27 So the user gets to choose how they want to map their memory. since I dont work on chipa but unix instead hash tables work for me 16:26:01 In my forth if you want a variable you define a word that returns the pointer to it manually 16:50:48 --- quit: dys (Ping timeout: 265 seconds) 17:37:57 --- join: johnmark_ (~johnmark@d53-64-121-247.nap.wideopenwest.com) joined #forth 17:50:02 --- join: smokeink (~smokeink@59-125-75-78.HINET-IP.hinet.net) joined #forth 18:57:13 --- quit: dddddd (Remote host closed the connection) 19:18:38 --- quit: Gromboli (Quit: Leaving) 19:28:13 --- quit: wa5qjh (Remote host closed the connection) 19:29:58 --- join: wa5qjh (~quassel@175.158.225.199) joined #forth 19:29:58 --- quit: wa5qjh (Changing host) 19:29:58 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 19:38:30 --- quit: wa5qjh (Remote host closed the connection) 19:40:21 --- join: wa5qjh (~quassel@175.158.225.199) joined #forth 19:40:21 --- quit: wa5qjh (Changing host) 19:40:21 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 19:44:56 --- quit: wa5qjh (Remote host closed the connection) 19:49:49 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 20:14:36 My forth compiles in such a way that there can't be named variables from the stack. You have to do several pointer lookups. But a dictionary is several pointer lookups anyway 20:22:37 --- quit: wa5qjh (Remote host closed the connection) 20:24:25 --- join: wa5qjh (~quassel@175.158.225.199) joined #forth 20:24:25 --- quit: wa5qjh (Changing host) 20:24:25 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 21:52:33 One interesting feature of my forth is that to end the definition of a word is newline 21:52:51 So it strictly enforces all words to be one liners 23:21:26 --- quit: smokeink (Remote host closed the connection) 23:29:54 --- join: smokeink (~smokeink@185.134.120.54) joined #forth 23:57:46 --- quit: lijero (Remote host closed the connection) 23:59:59 --- log: ended forth/18.02.17