00:00:00 --- log: started forth/16.09.11 00:29:14 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:9d8:1cf1:17f4:aaae) joined #forth 00:32:50 What do you guys think of the joy programming language? 00:33:39 --- quit: mnemnion (Ping timeout: 250 seconds) 00:40:04 What I am starting to realize is that ans forth is kind of like the JVM of forth 00:40:23 because as long as you are ans forth compliant it should run on any ans forth compliant system 00:40:37 and if that system does not exist then you have to implement ans forth in your environment 00:41:25 But I am really curious about joy because of the claims that it is purely functional or that it is the lisp of concatenative languages 00:43:00 If I can invent a joy for ans forth then it will run on all ans forth compliant systems 00:43:35 This is a joy interpreter written in Joy: http://www.kevinalbrecht.com/code/joy-mirror/jp-joyjoy.html 00:44:20 If that page is truly all it takes to write a joy interpreter then I bet I could translate that over to strictly ans compliant forth 00:44:35 and then joy would run on all forth systems 00:45:42 well all ans compliant forth systems 00:45:52 as long as their are no flaws in their ans compliancy or the ans standard 00:50:55 --- join: systemsgotyou (~User@71.91.8.13) joined #forth 01:07:43 apparently the last paragraph in that link contains a joy interpreter in joy that is 13 lines long 01:08:23 It would be a joy to get it running but I wonder what license it is 01:14:31 I am curious what the license in that link is 01:14:40 It is difficult to figure out 01:15:31 but if this joy0 is a 30 line joy intepreter in joy and I can inmplement that in strictly compliant ans forth and give it a lgpl license I'd be so happy 01:26:41 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:191f:d552:78e4:b664) joined #forth 01:27:13 --- join: true-grue (~true-grue@176.14.222.10) joined #forth 01:33:01 --- quit: mnemnion (Ping timeout: 250 seconds) 01:37:41 I'm going to reformat my system to a bsd system so I can get better answers about creating binaries in containers and get more secure containers 01:37:45 brb 01:38:41 --- join: neceve (~ncv@79.114.94.112) joined #forth 01:38:41 --- quit: neceve (Changing host) 01:38:41 --- join: neceve (~ncv@unaffiliated/neceve) joined #forth 02:01:28 --- quit: John[Lisbeth] (Remote host closed the connection) 02:10:16 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:191f:d552:78e4:b664) joined #forth 02:18:12 --- join: John[Lisbeth] (~user@52.165.40.155) joined #forth 02:18:46 I sort of now understand the concept that although ans forth is great if you write portable ans forth code, not all code that runs in your ans forth environment will be portable to all other ans forth environments 02:19:02 although the reaons why they will not be portable is not 100# clear to me 02:19:25 and I realize that forth is so easy to program that it is trivial to just implement it whatever environment you are in and just start going and don't look back 02:19:44 in many cases this can mean crunching out some quick assembly and you are done 02:19:53 if you are on a boostrapped system it's more slow but that's okay 02:20:57 in a way ans forth repls are like bootstrapped systems in this way. 02:21:41 From what I understand the hardware will give you everything you need to program if they have done their jobs correctly, and then you just design things how you want to solve your problems 02:25:51 you can just wrap your own personal favorite way of doing forth around those core tools and just start hacking away from there 02:26:25 and if another person wanted to program on it they would just write their own assembler and just connect theirs to yours 02:26:34 so they'd have to know forth sure 02:26:41 and they'd have to learn a new assembler 02:27:16 but after that they'd be free to do it however they wanted and the only thing that would matter is that the two forths could get their jobs done without interfering with each other and communicating if they have to 02:49:25 --- quit: mnemnion (Remote host closed the connection) 02:58:52 John[Lisbeth]: re other postfix languages, you use Postscript, right? 02:58:59 whether you know it or not 02:59:57 not sure what you are asking 03:00:02 is the first word a typo? 03:09:52 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:191f:d552:78e4:b664) joined #forth 03:14:25 --- quit: mnemnion (Ping timeout: 250 seconds) 03:23:59 first word of what? 03:29:40 you typed re 03:50:20 "regarding", it's a fairly common term for it 03:50:44 sorry never heard that term XD 03:50:56 I don't use postcript no 03:50:57 Python's underlying interpreter is a stack machine too 03:51:03 I think I fall into the camp of implementing your own forth 03:51:20 well, reading the Brad Rodriguez articles are a good start 03:51:31 also jonesforth 03:51:38 in fact, if you're using x86, start with jonesforth 03:53:19 I've had enough forth to get a taste for how it works 03:53:27 though gforth is a system with alot of words 03:53:40 I think I really need to implement my own forth so if I am gonna do that why not just do it in assembler 03:53:48 okay, so you understand threading? 03:53:59 not at this current juncture, no. 03:55:17 you need to understand that before you can implement a Forth 03:55:28 I think learning assembly will teach me that 03:55:40 really you'd be better reading the two things I just mentioned 03:56:21 My whole life I've learned what I learned because I chose to learn my own way on my own terms. And I am very satisfied that that lead me to forth 03:56:33 and I think it can take me yet further 03:56:35 okay 03:56:48 and to do that, you need to learn about how it works 03:57:06 and how words are threaded is absolutely pivotal to that 03:57:17 Well I think if I understand the concepts of programming I can understand assembly 03:57:23 and if I can understand assembly I can understand threading 03:57:28 and if I can understand threading I can implement a forth 03:57:40 whats the best 64bit forth targeting desktop machines? 03:57:52 nha_: the one sitting in front of you 03:57:56 the one you already have 03:57:59 now get on with it :-) 03:58:03 John[Lisbeth]: kind of 03:58:08 I'm sure there's a forth that already exists for my architecture 03:58:21 John[Lisbeth]: probably dozens, if it's a common enough architecture 03:58:28 John[Lisbeth]: what languages are you familiar with? 03:58:34 i dont have any atm though 03:58:35 haha 03:58:36 c++ bash haskell lisp 03:58:41 John[Lisbeth]: okay 03:58:52 John[Lisbeth]: I'd like to learn lisp, so I'm going to implement my own 03:59:06 John[Lisbeth]: I don't really know what all those brackets are about, so I'll just ignore that for now though 03:59:11 lisp is harder to implement than forth 03:59:24 doubt it 03:59:29 not by much at least 03:59:38 John[Lisbeth]: do you get my point, there? 03:59:57 nha_: what have you got at the moment? 04:00:06 gordonjcp: i dont have any forth installed 04:00:29 nha_: like I said to John[Lisbeth], look at jonesforth, although that's really geared to 32-bit machines 04:00:46 yea i was looking for something 64bit 04:00:47 so I can just take jonesforth and run it as a binary by it's self? 04:00:51 nha_: actually there's not much that couldn't be implemented on 8086 in Jonesforth, if you're careful with the long registers 04:00:57 John[Lisbeth]: more or less 04:01:07 John[Lisbeth]: it's written as "literate programming" 04:01:16 the source code itself is a long article on how Forth works 04:01:38 It seems to be based in c though 04:01:46 but it will assemble to a very simple inner interpreter, with the remainder up to the outer interpreter implemented in Forth 04:01:50 no, it's assembler 04:01:59 did you even look at it? 04:02:10 I am looking at it right now 04:02:12 it has a .c file 04:02:34 where? 04:02:43 https://github.com/AlexandreAbreu/jonesforth 04:03:07 that's a benchmark 04:03:26 start with jonesforth.S 04:04:24 I see 04:05:52 I should be getting to bed but this jonesforth should be enlightening 04:06:25 https://github.com/gordonjcp/miragetools/blob/master/docs/forth.asm.txt 04:06:33 ^ a fairly oddly implemented forth for the 6809 04:07:16 by the way 04:08:33 yes 04:08:34 ? 04:08:41 hold on I'm getting the link 04:08:57 John[Lisbeth]: if you're going to implement a Forth, you really want a "bottom-up" design 04:10:13 On this page near the bottom there is a joy program called joy0 http://www.kevinalbrecht.com/code/joy-mirror/jp-joyjoy.html 04:10:19 It is 13 lines long and it is joy written in itsself 04:10:28 I am not sure what license that short script is written in 04:10:52 okay 04:11:07 so how would I run that? 04:11:18 I don't know 04:11:23 I want to copy it but I am not sure I can 04:11:31 okay 04:11:37 If it is public domain I will make a lgpl version 04:11:40 see your forth that you want to implement 04:11:56 talk me through it, what's your process here? 04:12:12 first implement a basic fourth in assembler, and then implement joy in that forth 04:12:29 okay, so let's concentrate on the Forth 04:12:34 what's your plan for that? 04:12:46 probably work my way through jonesforth at this current point 04:13:17 then after jonesforth I will probably make my own 04:13:29 okay cool, that's a good way to start 04:13:40 how much do you know about assembler programming? 04:14:02 not much 04:14:07 okay 04:14:10 I gotta go to sleep, though. Goodnight 04:14:22 so I'd suggest writing some simple programs in assembler to accept keystrokes and print them 04:14:31 that's essentially your IO taken care of 04:14:55 *then* learn how stacks work, and how that applies to threading Forth words 04:14:59 and jonesforth will help you there 04:15:13 then learn how the dictionary is structured 04:15:16 it's really just a linked list 04:18:35 --- quit: proteusguy (Read error: Connection reset by peer) 04:19:33 --- join: proteusguy (~proteusgu@183.89.208.158) joined #forth 04:19:33 --- mode: ChanServ set +v proteusguy 04:40:36 proteusguy: afternoon 04:43:28 gordonjcp, good evening. 6:42p over here. :) 04:47:13 proteusguy: about 1345 here now 04:49:24 You in Europe? 04:52:45 Scotland 04:52:47 so, kind of :-) 04:53:01 haha not for long, right? :P 04:53:40 well, it's an interesting one 04:53:46 England and Wales voted to leave 04:53:53 Scotland voted overwhelmingly to stay in 04:54:28 yes and threatened to go independent and rejoin the EU! 04:54:38 well that's likely to come back around 04:54:50 frankly I think we should just become part of France 04:55:03 that'll really piss the southern English off 04:55:22 anyway the scale is all wrong, what we really need to do is have everything outside London become independent 04:55:53 London can remain its own wee nation state like the Vatican City 04:56:05 fuck e'm 05:01:16 hahaha 06:11:08 gordonjcp, you are 12 hours out from me (US Central time) 06:11:37 sorry, it is proteusguy that is 12 hours -- other side of the world 06:15:50 ringer1, yep - I'm in Bangkok. 06:44:23 Good evening to you proteusguy 06:45:49 howdy :) 07:25:58 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:44b3:cdac:9586:f780) joined #forth 07:27:11 ringer1: evening :-) 07:30:04 --- quit: mnemnion (Ping timeout: 250 seconds) 07:40:34 --- part: ringer1 left #forth 07:40:36 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 08:43:06 --- join: nal (~nal@adsl-64-237-234-196.prtc.net) joined #forth 09:26:52 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:41fe:ed05:de95:8a3a) joined #forth 09:30:58 --- quit: mnemnion (Ping timeout: 250 seconds) 09:49:36 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:41fe:ed05:de95:8a3a) joined #forth 12:42:57 --- quit: neceve (Quit: Konversation terminated!) 12:58:30 --- join: mnemnia (~mnemnion@71.198.73.193) joined #forth 13:17:22 --- quit: mnemnion (Remote host closed the connection) 14:27:13 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:1d40:80f2:d97b:6d6c) joined #forth 14:28:23 --- quit: Zarutian (Quit: Zarutian) 14:31:41 --- quit: mnemnion (Ping timeout: 250 seconds) 15:13:14 --- quit: mnemnia (Remote host closed the connection) 15:14:08 --- join: mnemnion (~mnemnion@71.198.73.193) joined #forth 15:18:33 --- quit: mnemnion (Ping timeout: 244 seconds) 15:21:59 --- join: mnemnion (~mnemnion@71.198.73.193) joined #forth 15:44:02 --- quit: nighty (Quit: Disappears in a puff of smoke) 17:05:17 --- quit: true-grue (Read error: Connection reset by peer) 17:32:40 --- join: nighty (~nighty@d246113.ppp.asahi-net.or.jp) joined #forth 18:09:53 --- quit: mnemnion (Ping timeout: 252 seconds) 18:16:37 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:1d40:80f2:d97b:6d6c) joined #forth 18:33:49 --- quit: Skuzzzy (Remote host closed the connection) 18:39:35 --- quit: karswell` (Ping timeout: 250 seconds) 19:13:08 --- join: CodeTortoise (~textual@2602:306:37fe:b70:5df2:bec6:d8a8:5f0d) joined #forth 19:21:08 --- quit: CodeTortoise (Quit: Textual IRC Client: www.textualapp.com) 19:21:12 So the only official spec for forth seems to be ans 19:21:24 and so forth is in a sense any language with reverse polish notation 19:21:40 or any langauge with rpn is a variant of forth 19:32:13 so in a sense factor and joy are forth just very specific kinds of forth 20:03:58 --- quit: phadthai (Ping timeout: 276 seconds) 20:12:37 Ok so what I've realized is I need to take a forth that works on x86-64 that is minimal and efficient 20:12:41 and then I need to compile that 20:16:38 --- join: phadthai (mmondor@ginseng.pulsar-zone.net) joined #forth 20:50:16 hforth ! 20:55:57 --- join: Skuzzzy (~Skuzzzy@149-169-125-18.nat.asu.edu) joined #forth 21:08:19 --- quit: phadthai (Ping timeout: 276 seconds) 21:14:54 --- join: karswell (~user@197.58.115.87.dyn.plus.net) joined #forth 21:38:55 --- join: phadthai (mmondor@ginseng.pulsar-zone.net) joined #forth 22:36:16 --- quit: proteusguy (Ping timeout: 260 seconds) 23:17:27 --- join: proteusguy (~proteusgu@180.183.115.141) joined #forth 23:17:27 --- mode: ChanServ set +v proteusguy 23:31:09 --- quit: phadthai (Read error: Connection reset by peer) 23:34:50 --- join: phadthai (mmondor@ginseng.pulsar-zone.net) joined #forth 23:39:14 --- quit: phadthai (Ping timeout: 240 seconds) 23:49:18 pointfree: you have C64 Forth stuff? how can I get some for my little box? 23:51:44 --- quit: mnemnion (Remote host closed the connection) 23:54:59 --- join: phadthai (mmondor@ginseng.pulsar-zone.net) joined #forth 23:59:59 --- log: ended forth/16.09.11