00:00:00 --- log: started forth/17.04.17 00:24:02 --- quit: dys (Ping timeout: 240 seconds) 00:32:13 --- quit: dual (Ping timeout: 260 seconds) 00:33:40 --- join: dual (~bonafide@subzeroup.core.rzwireless.net) joined #forth 01:14:47 --- join: John[Lisbeth] (~user@2601:601:8f01:a6a0:ada2:bcf8:f1fc:532a) joined #forth 01:14:54 beep boop 01:18:02 " basically javascript is already really good as a language on it's own" 01:18:10 sorry, but I can't agree with you 01:18:19 --- join: dys (~dys@ip-109-40-1-56.web.vodafone.de) joined #forth 01:18:21 it was a language designed in about 2 weeks 01:18:38 'designed' is a strong word. it was put together 01:18:47 lol 01:18:54 I dunno I mean sure it's not built well 01:18:58 it doesnt work all great and stuff 01:19:02 it's only fast because Google and Mozilla pumped $$$ into it 01:19:04 but it is really easy to learna nd use 01:19:06 ALSO 01:19:18 if javascript had been written in lisp or forth then they would have been able to completely redefine it by now 01:19:28 there would be libraries that turn javascript into anything you'd like 01:19:35 actually JavaScript was meant to be a Scheme 01:19:45 true but it wasn't and is not at the moment so we don't live in that world 01:19:47 but the designer didn't have the time to coma up with something proper 01:19:52 and if it is then we haven't figured out how to get at the scheme part 01:20:00 and he said, let's do this, it will be only a prototype 01:20:22 What I had read is his boss did not let him do it that way and made him rework it to be more like java and so he basically made something like java that was also very scheme like 01:21:05 it has nothing similar with java if I recall what is js 01:21:21 I dunno it feels alot like c++ to me 01:21:23 but way easier 01:21:37 like a c++ where the compile doesn't bitch at you, I'd say 01:21:42 *compiler 01:22:09 in JS you can't even include a library 01:22:26 it only has hacks to do it 01:22:55 01:23:43 That's true I guess but I Think that may be because the limitations on it 01:24:00 it is designed shittily it is hard to extend and also keep standard and stable 01:24:20 I mean if I make my thing compliant with ans under the hood people can still go into ans and so they can rework it to be whatever the hell they want 01:24:39 ans clearly can do libraries and so my thing will be able to do libraries 01:51:28 The thing is if someone hands you a language that does everything and you give it back to them and it doesn't do everything anymore you've done something wrong 01:54:52 you mean it's not Turing complete anymore? 01:58:00 no that is not what I mean 01:58:18 not all turing complete languages are completely rewritable down to the hardware level at runtime 01:58:27 --- join: Wedamm (~Adium@x55b0c677.dyn.telefonica.de) joined #forth 01:58:29 clearly only a few languages like forth and lisp do this 01:58:37 other langauges are on rails and can not be broken out of without writing another language 01:58:42 you and I both know this 02:15:17 --- quit: John[Lisbeth] (Ping timeout: 240 seconds) 02:51:05 --- quit: nighty-- (Quit: Disappears in a puff of smoke) 03:11:15 --- quit: koz_ (Quit: WeeChat 1.7) 03:12:45 --- join: koz_ (~koz_@121.99.240.58) joined #forth 03:24:58 * crc wonders how john[lisbeth] intends to build a parser and compiler for a new language without ever delving into lower level code or reading. 03:45:11 --- join: nighty-- (~nighty@s229123.ppp.asahi-net.or.jp) joined #forth 04:28:19 --- join: GeDaMo (~GeDaMo@212.225.127.213) joined #forth 05:15:21 --- join: John[Lisbeth] (~user@2601:601:8f01:a6a0:852a:cb63:89af:7bd0) joined #forth 05:15:24 beep boop 05:16:44 --- join: ricky_ricardo (~quassel@2601:240:4203:ecb0::6) joined #forth 05:28:40 * nerfur wonders was it answer on crc's question 05:28:41 :-D 05:38:15 --- quit: proteusguy (Ping timeout: 252 seconds) 05:40:23 nerfur: that would require him to read the logs :) 05:41:51 eh I gotta learn macros now 05:41:58 it is the next logical step 05:42:09 --- quit: ricky_ricardo (Remote host closed the connection) 05:47:55 John[Lisbeth]: See 6.1.1710, 6.1.2033, 6.1.2250, D.6.7, A.6.1.1710, A.6.1.2250, and A.6.1.2033 in ANS spec for some starting points 05:55:58 --- quit: wa5qjh (Remote host closed the connection) 05:56:49 --- join: wa5qjh (~Thunderbi@121.54.90.143) joined #forth 05:57:17 --- quit: wa5qjh (Remote host closed the connection) 06:00:16 --- join: wa5qjh (~Thunderbi@121.54.90.143) joined #forth 06:16:09 --- quit: wa5qjh (Remote host closed the connection) 06:20:49 --- join: wa5qjh (~Thunderbi@121.54.90.143) joined #forth 06:36:31 Since I'm traveling again today, I'll spend the drive working on a new assembler for my virtual machine. 06:52:48 --- quit: dual (Ping timeout: 240 seconds) 06:53:30 --- join: gumpi (~gumpi@95.235.12.115) joined #forth 06:55:41 --- join: vsg1990 (~vsg1990@static-72-88-80-103.bflony.fios.verizon.net) joined #forth 07:07:25 --- join: joneshf-laptop (~joneshf@c-73-220-86-28.hsd1.ca.comcast.net) joined #forth 07:09:29 --- quit: dys (Read error: Connection reset by peer) 07:24:37 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 07:46:59 --- join: dual (~bonafide@cpe-74-75-153-119.maine.res.rr.com) joined #forth 07:50:53 --- join: dys (~dys@ip-109-40-1-56.web.vodafone.de) joined #forth 07:55:14 Jonesforth worth a try? 07:55:31 Also: gforth on android? What do you think? 07:58:22 I have no experience with gforth on android, but it's not a bad forth 07:58:49 joneforth is useful as a learning tool, but not really consistent with classical or ANS models 08:06:22 --- quit: wa5qjh (Remote host closed the connection) 08:13:26 So, if I want to make a minimal (like, really minimal) forth and then bootstrap a version, where I start? 08:13:52 Jones mutilated, or there are alternatives? 08:15:07 http://www.bradrodriguez.com/papers/moving1.htm 08:18:15 I'm not sure if there's a version of Threaded Interpretive Languages by R. G. Loeliger online, but it's pretty good 08:25:22 I'm just looking at this http://www.exemark.com/FORTH/eForthOverviewv5.pdf it may be of interest 08:25:25 gumpi: ^ 08:27:22 * Zarutian recommends eForth as it is small and rather easy to port. 08:28:33 Love it! Thanks, eForth seems interesting 08:29:26 eforth is a nice, compact model. I like it too :) 08:29:43 * crc should look into trying to port eforth to his vm 08:32:02 Talking about speed, eforth (aka minimal threaded and self referenced), can be fast like C? 08:33:05 I know that C it's assembly restyling, so can forth be that too? 08:33:34 In my experience, no. C compilers do a lot of optimizations (some potentially unsafe) that most Forth implementations don't even approach. 08:33:57 (Sorry if I sound noobish, I am, and english it's not my first language) 08:34:40 those that do compile into native code and it's mostly commercial variants. (iForth, VFX, maybe 8th come to mind here) 08:35:15 Ah, so no foss compiled forth 08:35:39 Or almost unknown 08:35:46 colorforth generates native code but it doesn't do a lot of optimizxation 08:36:04 Generating native code isn't difficult 08:36:13 native code doesn't imply optimization at all 08:36:39 An compilator for optimization it's not worth it? 08:36:58 that depends on your goals 08:37:14 That's like, forth's motto xD 08:37:56 * crc nows reva (32-bit, x86) had a focus on speed 08:38:10 I am vaguely obsessed with a minimalist faster than ever forth 08:38:15 it still works, but is no longer under active development. 08:38:57 If I ever get around to it, my next Forth will have whole array operations as primitives 08:38:59 optimizers tend towards complexity in my experience 08:39:44 gumpi: Check out https://github.com/larsbrinkhoff/stoneknifeforth . 08:39:54 I finished my new assembler :-) . https://gist.github.com/crcx/bcc671e8362a79d8697b6e5451930b5e 08:41:35 @DKordic super interesting! 08:42:07 @crc woah! 08:43:30 * Zarutian notes that many C compilers do unsafe things like omitting memory zeroing code and bounds checking code. 08:44:18 eForth https://web-beta.archive.org/web/20110808105950/http://www.baymoon.com/~bimu/forth/ 08:44:38 So, do you say that forth it's much safer, so it's a good price to pay 08:46:37 I prefer to know what my code is doing and how the compiled output relates to the source 08:47:11 optimizations aren't all bad, but things that make fundamental changes to what was input make me uncomfortable 08:47:34 Well I don't thibk that exist another language so useful that you can actually understand interely 08:47:59 gumpi: Take a quick look at `avr.f' of [[http://krue.net/avrforth/][avrforth]]. 08:48:34 Lambda calculus (lispy) it's good, but forth has something that doesn't feel loke doing math 08:51:08 @DKordic woah, esoteric territory, next step brainf**k with colon (brainforth) 08:53:32 gumpi: What is esoteric? 08:54:18 avrforth feels esoteric 08:56:41 IDK what esoteric means. BF is just retarded. 08:58:48 In my mind esoteric means: let's program in korean! It works, it's fun and it's pointless 08:59:37 Then what is esoteric about avrforth? 09:02:08 It's in esoteric territory, not really one of them 09:36:24 --- quit: dys (Ping timeout: 252 seconds) 09:50:17 --- join: true-grue (~true-grue@176.14.222.10) joined #forth 10:01:30 --- join: dys (~dys@ip-109-40-1-221.web.vodafone.de) joined #forth 10:05:36 --- join: MickyW (~MickyW@p4FCFEE54.dip0.t-ipconnect.de) joined #forth 10:19:31 --- quit: gumpi (Quit: gumpi) 10:31:24 Nearly home, so time to wrap up programming for a little while. The assembler works, and I finished up something similar to C's sprintf(): https://gist.github.com/crcx/1c268385362ef3f8e27ba61930f7bd04 11:08:23 --- quit: MickyW (Quit: Leaving. Have a nice day.) 11:08:23 --- join: ACE_Recliner (~ACE_Recli@c-50-165-178-74.hsd1.in.comcast.net) joined #forth 11:21:57 --- quit: ACE_Recliner (Ping timeout: 260 seconds) 11:23:22 --- join: ACE_Recliner (~ACE_Recli@c-50-165-178-74.hsd1.in.comcast.net) joined #forth 11:38:56 --- quit: John[Lisbeth] (Ping timeout: 258 seconds) 11:54:27 --- quit: dual (Ping timeout: 252 seconds) 12:03:57 --- quit: ACE_Recliner (Remote host closed the connection) 12:12:35 --- join: neceve (~ncv@unaffiliated/neceve) joined #forth 12:37:28 --- join: Mat4 (~claude@ip5b40bc66.dynamic.kabel-deutschland.de) joined #forth 12:40:58 --- quit: Mat4 (Client Quit) 12:42:22 --- join: ACE_Recliner (~ACE_Recli@c-50-165-178-74.hsd1.in.comcast.net) joined #forth 12:52:56 --- quit: neceve (Quit: Konversation terminated!) 13:00:47 --- join: newuser|14770 (5744025b@gateway/web/freenode/ip.87.68.2.91) joined #forth 13:24:00 --- join: dual (~bonafide@subzeroup.core.rzwireless.net) joined #forth 13:26:24 --- quit: GeDaMo (Remote host closed the connection) 13:28:37 --- quit: ACE_Recliner (Ping timeout: 260 seconds) 13:29:04 --- join: ACE_Recliner (~ACE_Recli@c-50-165-178-74.hsd1.in.comcast.net) joined #forth 13:29:56 --- quit: pdewacht (Quit: EOF) 13:30:11 --- join: pdewacht (~pdewacht@elecran.2k38.be) joined #forth 14:41:03 --- quit: Wedamm (Quit: Leaving.) 15:22:18 --- quit: ACE_Recliner (Ping timeout: 260 seconds) 15:22:44 --- join: ACE_Recliner (~ACE_Recli@c-50-165-178-74.hsd1.in.comcast.net) joined #forth 15:31:39 hello, *crosses fingers* did you read http://soton.mpeforth.com/flag/jfar/vol6/no2/article2.pdf ? 15:45:09 --- quit: ACE_Recliner (Remote host closed the connection) 16:19:20 --- join: wa5qjh (~Thunderbi@121.54.90.143) joined #forth 16:26:40 --- quit: midre (Ping timeout: 246 seconds) 16:32:13 --- join: midre (~midre@2601:547:500:2a80::1) joined #forth 16:54:06 --- quit: nighty-- (Quit: Disappears in a puff of smoke) 17:07:27 --- quit: true-grue (Read error: Connection reset by peer) 17:18:34 newuser|14770: looks interesting, though the assumption of an F83 system might pose a bit of hassle in porting to a modern forth 17:24:22 a small one i hope 17:30:02 --- quit: wa5qjh (Ping timeout: 268 seconds) 17:40:42 I'm not very famiar with F83, but section D of the ans spec has some details on the differences 17:41:00 Specifically D.6 17:44:18 cheers mate 17:50:50 --- join: MrBusiness3 (~ArcMrBism@2602:306:8325:a300:c801:d7f:77e1:92be) joined #forth 17:53:36 --- quit: MrBismuth (Ping timeout: 252 seconds) 18:02:50 --- join: nighty-- (~nighty@d246113.ppp.asahi-net.or.jp) joined #forth 18:48:35 --- join: John[Lisbeth] (~user@2601:601:8f01:a6a0:852a:cb63:89af:7bd0) joined #forth 18:53:14 --- quit: John[Lisbeth] (Ping timeout: 260 seconds) 18:54:39 --- join: wa5qjh (~Thunderbi@121.54.90.143) joined #forth 19:12:18 --- join: ACE_Recliner (~ACE_Recli@c-50-165-178-74.hsd1.in.comcast.net) joined #forth 19:27:13 --- quit: M-jimt (Ping timeout: 255 seconds) 19:28:19 --- quit: groovy2shoes (Ping timeout: 240 seconds) 19:34:26 --- join: groovy2shoes (~groovy2sh@unaffiliated/groovebot) joined #forth 19:37:05 --- quit: Zarutian (Quit: Zarutian) 19:41:41 --- join: M-jimt (jimtmatrix@gateway/shell/matrix.org/x-yuolegbylqstrqqw) joined #forth 20:00:29 --- quit: vsg1990 (Quit: Leaving) 20:04:03 --- join: neceve (~ncv@unaffiliated/neceve) joined #forth 20:19:36 --- quit: newuser|14770 (Quit: Page closed) 20:37:59 --- quit: wa5qjh (Remote host closed the connection) 22:11:43 --- quit: neceve (Quit: Konversation terminated!) 22:30:11 --- join: Blandino (~John@45.34.16.10) joined #forth 22:31:03 --- quit: Blandino (Client Quit) 22:31:27 --- join: John[Lisbeth] (~user@2601:601:8f01:a6a0:5d90:2d7f:a033:7136) joined #forth 22:31:42 he he he 22:34:53 --- quit: ACE_Recliner (Remote host closed the connection) 22:57:44 okay so 23:02:23 I forgot how to evaluate :noname 2 ; 23:02:59 execute 23:06:01 : blah create worda does> wordb ; 23:06:31 : blah wordb ; 23:06:37 : blah worda ; 23:07:04 ??? 23:07:12 I am trying to figure out whether wordb goes inside of an ordinary definition or wordb goes inside of an ordinary definition 23:09:02 : foo create word-a does> wordb ; 23:09:10 the definition of word-a and word-b are arbitrary 23:09:19 create is not an immedaite word and the does> will change the semantics of the word created when you run blah 23:09:22 e.g. 23:09:53 I am not interested in create and does I am interested in the effects they have on the words that go inside them 23:10:08 --- join: mtsd (~mtsd@customer-46-39-122-235.stosn.net) joined #forth 23:10:16 : blah create , does> @ 2* . ; 23:10:16 5 blah foo 23:10:17 foo -> 10 23:11:15 What is @ dereferencing? 23:11:19 what words that go inside where? 23:12:10 is @ a pointer available on the stack? 23:12:33 or rather does> leaves a pointer on the stack that @ can use 23:12:37 http://lars.nocrew.org/dpans/dpans6.htm#6.1.1000 http://lars.nocrew.org/dpans/dpans6.htm#6.1.1250 23:13:36 by default create creates a word that returns the HERE from immediately after its creation 23:14:54 and speaking very roughly, does> appends code to that behavior 23:17:15 nah thats not it 23:17:28 the secret is that there are tokens left to be compiled 23:17:33 and create takes some of those tokens 23:19:01 create parses one token from the input buffer and creates a word that returns the value HERE will have after the word's creation 23:24:17 06:05 < John[Lisbeth]> : blah create worda does> wordb ; 23:24:33 i hope you understand that that will not create a word worda because create is not immediate 23:28:54 also, does> appends to whatever the most recent definition is, or ensaddens with a great sadness if that definition was not created with create 23:28:57 e.g. 23:29:56 : foo does> @ 2* 2* . ; 23:29:56 create bar 6 , 23:29:56 foo 23:29:56 bar 23:29:58 -> 24 23:39:01 to continue re: create is not an immediate word, most forths can't even create a definition with a pending colon definition like that 23:39:43 so just making : baz create ; immediate or doing [ create foo ] inside a colon def will bring nothing but sadness 23:51:03 I don't understand the relationship between create does> and immediate 23:52:06 do you understand what an immediate word is? 23:53:12 or the distinction between compilation semantics and interpretation semantics 23:59:59 --- log: ended forth/17.04.17