00:00:00 --- log: started forth/15.01.07 00:13:13 --- quit: samrat (Quit: Computer has gone to sleep.) 00:16:27 Vendan, making your own forth? 00:31:17 --- join: samrat (~samrat@61.12.96.226) joined #forth 00:54:53 --- quit: proteusguy (Remote host closed the connection) 00:58:13 --- join: proteusguy (~proteusgu@180.183.133.116) joined #forth 00:58:13 --- mode: ChanServ set +v proteusguy 01:02:31 --- quit: proteusguy (Remote host closed the connection) 01:05:16 --- join: proteusguy (~proteusgu@180.183.133.116) joined #forth 01:05:16 --- mode: ChanServ set +v proteusguy 01:11:10 --- join: proteusguy_ (~proteusgu@180.183.133.116) joined #forth 01:20:22 --- quit: samrat (Quit: Computer has gone to sleep.) 01:23:31 --- join: samrat (~samrat@61.12.96.226) joined #forth 01:28:04 --- quit: proteusguy_ (Quit: Leaving) 01:28:14 --- quit: proteusguy (Quit: Leaving) 01:28:35 --- join: proteusguy (~proteusgu@180.183.133.116) joined #forth 01:28:35 --- mode: ChanServ set +v proteusguy 01:34:50 --- quit: mnemnion (Remote host closed the connection) 02:02:53 --- join: xyh (~xieyuheng@2001:250:3002:5550:6ea1:cc0f:bcb2:b187) joined #forth 02:15:46 --- quit: proteusguy (Remote host closed the connection) 02:39:43 --- join: proteusguy (~proteusgu@ppp-110-168-229-237.revip5.asianet.co.th) joined #forth 02:39:43 --- mode: ChanServ set +v proteusguy 03:23:14 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 03:27:54 --- quit: mnemnion (Ping timeout: 244 seconds) 04:00:16 --- quit: samrat (Quit: Computer has gone to sleep.) 04:30:44 --- quit: xyh (Read error: Connection reset by peer) 04:48:21 --- join: nighty^ (~nighty@hokuriku.rural-networks.com) joined #forth 05:12:14 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 05:16:41 --- quit: mnemnion (Ping timeout: 252 seconds) 05:19:05 --- join: xyh (~xieyuheng@2001:250:3002:5550:6ea1:cc0f:bcb2:b187) joined #forth 05:24:22 --- join: saml_ (~saml@cpe-24-102-97-97.nyc.res.rr.com) joined #forth 05:33:03 proteusguy, yeah 05:35:29 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 05:40:28 --- quit: mnemnion (Ping timeout: 255 seconds) 05:50:04 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 05:56:56 Vendan, what's your target? 05:58:08 currently, x86 linux, but next is an ARM cortex-M0+ chip 06:30:47 --- quit: bluekelp (Ping timeout: 272 seconds) 06:34:16 --- join: bluekelp (~bluekelp@2001:470:1:41:1913:20a:22:1b92) joined #forth 06:34:16 --- mode: ChanServ set +v bluekelp 06:53:35 --- quit: Bahman (Ping timeout: 240 seconds) 06:54:42 --- join: Bahman (~Bahman@188.159.235.203) joined #forth 08:11:56 --- quit: darkf (Quit: Leaving) 08:16:50 --- quit: joneshf-laptop (Quit: Leaving) 08:30:30 --- join: true-grue (~grue@95-27-189-181.broadband.corbina.ru) joined #forth 08:41:37 --- quit: xyh (Remote host closed the connection) 09:17:38 --- join: samrat (~samrat@123.236.183.195) joined #forth 10:52:59 --- join: karswell` (~user@87.113.81.255) joined #forth 10:55:03 --- quit: karswell (Ping timeout: 245 seconds) 11:20:17 --- quit: samrat (Quit: Computer has gone to sleep.) 11:52:36 --- quit: chemuduguntar (Read error: Connection reset by peer) 12:07:02 --- join: kumul (~mool@adsl-72-50-87-48.prtc.net) joined #forth 12:47:58 --- quit: karswell` (Read error: Connection reset by peer) 12:49:11 --- join: karswell` (~user@87.113.81.255) joined #forth 13:00:03 --- join: mark4__ (~mark4@cpe-68-203-183-77.tx.res.rr.com) joined #forth 13:00:03 --- nick: mark4__ -> I440r 13:00:10 --- mode: ChanServ set +o I440r 13:01:01 well i had to comment out the load line for some of the extensions but my Thum2 forth kernel can now compile most of my extensions and save out an extended version of itself and that runs 13:01:30 there are issues tho, need to do alot of debugging plus i need to fix what ever makes some of the extensions broken :) 13:26:46 --- quit: kumul (Ping timeout: 244 seconds) 14:05:52 --- join: MrMobius_ (~MrMobius@50.96.163.86) joined #forth 14:10:37 --- nick: quuxman_ -> quuxman 14:16:43 --- quit: MrMobius_ (Ping timeout: 245 seconds) 14:22:37 --- quit: true-grue (Read error: Connection reset by peer) 14:33:29 --- quit: saml_ (Quit: Leaving) 15:06:33 --- quit: Bahman (Quit: zzZZ) 15:36:31 --- join: kumul (~mool@adsl-64-237-238-86.prtc.net) joined #forth 15:36:42 --- join: MrMobius_ (~MrMobius@50.96.163.86) joined #forth 15:51:37 --- quit: MrMobius_ (Ping timeout: 240 seconds) 16:54:19 --- join: Zamenhof (~Greyhat@12.181.213.135) joined #forth 18:05:46 --- quit: mnemnion (Remote host closed the connection) 18:06:30 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 18:11:13 --- quit: mnemnion (Ping timeout: 264 seconds) 18:14:12 --- join: mnemnion (~mnemnion@142-254-26-6.dsl.static.fusionbroadband.com) joined #forth 18:32:16 --- quit: proteusguy (Ping timeout: 255 seconds) 18:32:37 --- quit: nighty^ (Quit: Disappears in a puff of smoke) 18:41:06 --- quit: mnemnion (Remote host closed the connection) 18:45:43 --- join: proteusguy (~proteusgu@ppp-110-168-229-44.revip5.asianet.co.th) joined #forth 18:45:43 --- mode: ChanServ set +v proteusguy 18:47:13 --- join: mnemnion (~mnemnion@142-254-26-6.dsl.static.fusionbroadband.com) joined #forth 18:58:33 --- quit: mnemnion (Remote host closed the connection) 19:08:30 --- join: mnemnion (~mnemnion@142-254-26-6.dsl.static.fusionbroadband.com) joined #forth 19:20:35 --- quit: mnemnion (Remote host closed the connection) 19:23:36 --- join: mnemnion (~mnemnion@142-254-26-6.dsl.static.fusionbroadband.com) joined #forth 19:29:11 --- join: darkf (~darkf___@unaffiliated/darkf) joined #forth 19:50:23 --- quit: mnemnion (Remote host closed the connection) 19:53:08 --- join: mnemnion (~mnemnion@142-254-26-6.dsl.static.fusionbroadband.com) joined #forth 20:20:29 --- join: joneshf-laptop (~joneshf@98.208.35.89) joined #forth 20:27:25 Vendan, your forth has an assembler then? What threading model you using? Anything else special about your forth? 20:27:37 I440r, hows your project going? Done yet? 20:27:53 no, no assembler yet, still working on it 20:28:16 it's indirect threaded, written in assembly 20:28:35 --- quit: mnemnion (Remote host closed the connection) 20:29:58 I cheated just slightly with my does> implementation, it just hard codes a 0xE8 and the relative position to the dodoes handler 20:30:25 which is the same as doing CALL DODOES in assembly 20:36:57 --- join: samrat (~samrat@123.236.183.195) joined #forth 20:40:42 --- join: Shark8 (~Thunderbi@173.84.218.41) joined #forth 20:41:23 --- join: dbotton (~dbotton__@c-73-46-72-234.hsd1.fl.comcast.net) joined #forth 20:41:58 Shark8: you weren't joking... 20:42:49 dbotton: greetings... 20:44:19 :) 20:44:50 We were discussing in #Ada the merits of using Forth to boostrap a new Ada compiler 20:45:08 (let's not be rude not letting them know how we dropped in) 20:45:10 yes... 20:45:16 was just about to do that. 20:45:25 lol 20:45:26 So.... I typed /list. 20:45:35 I was like, ....huh? 20:46:36 basically, none of us like C, but Ada compilers are expensive. Forth would be a good language to bootstrap with. 20:46:49 I feel like Dr. Who and in some parallel universe 20:46:50 and no, FORTH MUST ONLY DO FORTH!!! 20:46:51 lol 20:47:24 C are the Daleks of course 20:48:03 hrm, that actually makes me wonder if you could make a parser combinator in forth 20:48:17 I mean, I know you could, but how easily.. 20:49:16 forth is a great way to bootstrap anything and is often used in that manner. 20:49:59 now what would be even stronger is if you could build an Ada compiler/interpreter with stack machine architecture rather than C call-stacks. 20:50:05 --- quit: Shark8 (Ping timeout: 256 seconds) 20:50:50 there are multiple ada compilers targeting the jvm 20:50:54 so I don't see why not 20:51:40 --- join: Shark8 (~Thunderbi@173.84.218.41) joined #forth 20:52:07 ah, I see your idea now. 20:52:22 interesting...I'd have to think about it... 20:52:46 forth is stack based, but the lack of types makes it a bit different from java bytecode. 20:53:26 shouldn't be too hard to have Ada types defined in forth, and then taylor the forth to the target architecture 20:53:35 proteusguy: I don't think there's any reason that Ada couldn't use a stack-machine; there's an implementation targeting the JVM which IIUC is a stack machine. 20:56:25 heh, that reminds me of when I was first playing with writing forth 20:57:04 I made a simple little interpreter in C, and thought it was really an easy language to implement, not realizing that I horribly butchered it 20:57:26 how did you butcher it? 20:58:23 well, it was pure interpreter, and the adding words was weirdly implemented 20:59:06 didn't have any idea of immediate, and writing anything like postpone was all but impossible without some serious hacking 20:59:27 not to mention all but useless without immediate 20:59:38 Ah. 21:00:08 when you hit an if, and it said to skip, all it did was actually set a flag to not run any instructions till it saw an else or a then 21:01:33 heh -- Clever little hack: make the conditional a comment until the closing/terminal symbol if it fails. 21:03:01 nah, it turned stuff into bytecode first, so it wasn't purely interpreter 21:03:04 Zamenhof, the more curious question is why you want to build another Ada compiler...? Is there some special compelling reason in your coase? 21:04:53 Currently there's only one compiler that implements the Ada 2012 standard: GNAT. 21:04:53 Due to some licensing and commercial weirdness there's three versions: FSF GNAT, AdaCore's GPL, and AdaCore's Pro. 21:06:03 The FSF one lags behind the Adacore one, typically; and the GPL Adacore one doesn't have a runtime exception on it's license... sou you can't legally distribute its output w/o GPLing the output itself, apparently. 21:06:15 ^-- To sum it up. 21:07:25 Shark8 stated it accurately. 21:07:46 gcc is a PITA to deal with. 21:12:15 I think having Ada target a forth machine is gonna result in a slower execution in the end. I'd be more inclined to implement my Ada compiler in a forth-like language but have it build a proper compiler that can do a lot of optimizations. But it would be interesting to have an Ada interpreter. 21:12:15 proteusguy: Is that a compelling enough reason? 21:12:48 Shark8, it's interesting enough - compelling would depend on the potential ROI. :) 21:13:03 Ada is a BIG language to implement. 21:13:56 Well, it's not like we can't *also* have an Ada written in Ada... in fact that would be Ideal: we could use the Ada/Forth to bootstrap by altering its base-words as needed, then compile the Ada/Ada compiler into the new environment. 21:14:49 Thus making the "it's a big language to implement" a much smaller one: Forth. 21:15:03 Shark8, something like that is probably the direction I would try first. 21:16:21 I agree with Shark8. forth is used to bootstrap, then the rest is written in Ada. 21:18:04 Shark8: where would you start -- with Ada 83, or Ada 95? 21:18:32 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 21:18:36 Starting with Ada 83 in forth would probably be a bit more feasible. 21:19:38 Excellent question; I'm not sure -- While `83 would be easier as you note, the structuring ability of `95 (child packages) is /really/ nice for organization. 21:21:38 --- quit: samrat (Quit: Computer has gone to sleep.) 21:21:39 But, on the other hand, if we did `83 in forth, and then did 2012 in `83 we could have the added benefit of instantly having more targets w/o porting the Forth on systems already having an `83 implementation. (OpenVMS springs to mind... they're starting on a x86 implementation, BTW.) 21:23:40 hmm... interesting. 21:26:19 Shark8: so would you just skip 95 and 2005, and develop to the 2012 standard? I was thinking that there is more benefit in going in order 21:26:31 as there is much code that could be recycled from one revision to the next 21:28:54 Yes, I would do it that way. The more advanced Ada 2012 subtypes [and containers] would mean that the next iteration [likely Ada 202X in Ada 2012] could use them. 21:30:19 e.g. -- Ada.Containers.Indefinite_Ordered_Maps instantiated w/ an Identifier (string-subtype) and record indicating type/value/location would exactly be a symbol-table. 21:31:39 Instantiate another Indefinite_Ordered_Map with the Key as Identifier and the element as the map from the previous instantiation and you have scope-resolution. 21:32:58 question, if you write source code, that is meant to be linked with a gpl library, can you charge for the source code? At that point it won't have been linked yet...\ 21:33:09 I will have to look at that more closely. I'm more familiar with '95, and I wouldn't call myself an expert. 21:34:53 Vendan: the GPL doesn't prevent you from charging anything. The problem is that once you link to their code, you lose control over distribution of the source. 21:34:57 that is what bothers people. 21:35:26 so I suppose you could set up a license that they cannot distribute your source, while they link to the code 21:35:33 ie. gpl code 21:35:50 fyi IANAL 21:36:14 But it might be better to avoid any possible legal pitfalls and avoid it altogether. 21:36:37 ^-- If you're ever going to do anything commercial, that is. 21:37:26 from what it looks like, the easiest way to get a do whatever you want ada compiler would be to reverse engineer and make a lgpl(or whatever) version of libgnat 21:37:26 which is why an unencumbered compiler is sorely needed 21:37:44 the compiler isn't encumbered, just the runtime 21:37:58 it would basically be a re-write 21:38:45 yes... 21:39:36 And if we're going to rewrite it, we ought to look at the advantages/disadvantages of various implementation-languages to bootstrap from. Forth is particularly nice in that it's by all accounts easy to port... 21:41:16 erm, just to be the devils advocate, point me at a cpu arch that doesn't have a C compiler already ready? 21:41:41 C is not portable without a bunch of hacks. 21:41:57 And hence, not easy to port. 21:42:14 {#ifdef is *NOT* portability.} 21:42:22 I wouldn't really say that forth is really that much better off 21:42:26 C - properly used - i s a platform independent assembly language. I'd be looking at C++ or forth myself. 21:42:43 most of the implementations I've seen have decent to big differences 21:42:50 Vendan, yes, forth isn't meant to be portable. It's just damn quick to reimplement on each target. 21:42:54 --- quit: kumul (Read error: Connection reset by peer) 21:42:56 C++ is blasphemey 21:43:20 I'd rather re-implement a forth kernel than deal with C++ 21:43:36 in assembly 21:43:45 Zamenhof, then that's the direction you should try. Would be an interesting project. 21:45:07 cool chat tonite. I gotta get some sleep. see you all tomorrow. 21:45:08 meh, I'm implementing a forth in assembly, but for something major like that, I'd go with C at least some 21:45:12 I would observe, however, that C++ generic concepts probably fit well with Ada's generics. Doing this is forth as a typeless implementation of a heavily typed language would be cool however. 21:45:17 Zamenhof: G'night. 21:45:35 or maybe something that output to something like LLVM 21:46:04 --- quit: Zamenhof (Quit: WeeChat 1.0.1) 21:47:05 proteusguy: C++'s templates are pretty different from Ada's generics... there was a pretty good comparative article I ran across a while back. 21:47:12 Let me see if I can find it. 21:47:52 Here it is: http://accu.org/index.php/journals/272 21:48:14 question, if you are talking about writing the ada to be able to compile itself, why not just start in the existing GPL ada? 21:48:48 once you get it to the point of compiling itself, you'd no longer be linking against libgnat, and therefore be free of the gpl restriction on the output 21:54:18 Having a starting point that's completely discrete from the GPL Ada that's bootstrapped off of would provide legal proof that there was no violation of licensing, one way or the other. 21:55:31 Shark8 I don't think that is something to worry about 21:55:39 that seems a little farfetched, but bootstrap it off of the gcc version 21:56:04 Mayhaps. 21:56:51 I really don't think anyone could make "You used our binary to build your compiler" stick as to making the output of the compiler "tainted" 21:57:20 that's about like saying code compiled in VC++ on windows is automatically property of microsoft 21:58:12 Except that VC++ doesn't have a viral license attached to its output. 21:58:53 (And I know it's a farfetched scenerio, but having seen the legal system in action the past few years... *yeesh*.) 22:02:19 I was pretty sure that GPL didn't apply virally to the output of a compiler? 22:02:35 unless it's linking in something GPL... 22:03:10 Shark8, yes and the concept of C++ 'concepts' is driven from some of the things learned in that article. 22:04:05 so basically, to sue you for it, they'd have to state that the GPL is saying something other then what the FSF intended, and I think that'd be a very interesting legal battle 22:04:07 Vendan: it's the compiler situation, one of the GPL compilers doesn't have the runtime-exception. 22:04:18 Vendan, using a GPL tool to boostrap a non-GPL tool that does not include actual GPL content is perfectly permissible from my understanding. 22:04:49 You're not redistributing the GPL stuff - only the non-GPL stuff so it's cool. 22:04:51 but if you aren't linking the runtime, how could the license affect the output? 22:04:56 --- join: samrat (~samrat@61.12.96.226) joined #forth 22:04:57 exactly 22:06:59 --- quit: proteusguy (Remote host closed the connection) 22:07:37 I'm just being devils advocate here, so if you want to do it in forth just for the hey of it, no skin off my back 22:08:09 I am sitting here writing a forth implementation in pure asm and handcoded linux syscalls for the hey of it 22:08:16 True; and like was observed: it would be an interesting project. 22:16:06 --- quit: samrat (Quit: Computer has gone to sleep.) 22:16:58 --- join: samrat (~samrat@61.12.96.226) joined #forth 22:19:58 ttmrichter: do you know making android app? 22:29:02 --- join: proteusguy (~proteusgu@180.183.133.116) joined #forth 22:29:02 --- mode: ChanServ set +v proteusguy 22:33:53 yunfan: The best way to make an android app is to hire someone who was willing to learn all that crap. :) 22:56:04 ttmrichter: i was thinking if forth is suitable for making a android keyboard 23:04:53 You mean making an IME like Sogu's or Google's? 23:26:05 --- join: Bahman (~Bahman@188.159.235.203) joined #forth 23:54:29 yes 23:59:59 --- log: ended forth/15.01.07