00:00:00 --- log: started forth/14.06.04 00:17:56 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 00:22:53 --- quit: mnemnion (Ping timeout: 264 seconds) 01:00:20 --- quit: MrMobius (Ping timeout: 246 seconds) 01:05:21 --- join: DGASAU (~user@p50993595.dip0.t-ipconnect.de) joined #forth 01:49:14 --- join: pvt_petey (~pvt_petey@cpc11-colc6-2-0-cust131.7-4.cable.virginm.net) joined #forth 01:50:11 --- quit: pvt_petey (*.net *.split) 01:50:12 --- quit: nop0x07bc (*.net *.split) 01:50:12 --- quit: bjorkintosh (*.net *.split) 01:50:37 --- join: nop0x07bc (~pon1980@h107n8-aepv-d7.ias.bredband.telia.com) joined #forth 01:51:03 --- join: pvt_petey (~pvt_petey@cpc11-colc6-2-0-cust131.7-4.cable.virginm.net) joined #forth 01:51:19 --- join: bjorkintosh (~bjork@ip68-13-229-200.ok.ok.cox.net) joined #forth 01:58:40 --- join: true-grue (~quassel@95-24-251-203.broadband.corbina.ru) joined #forth 02:00:37 --- join: fantazo (~fantazo@80.110.10.76) joined #forth 02:20:34 --- quit: koisoke_ (Ping timeout: 240 seconds) 02:20:43 --- join: koisoke (xef4@epilogue.org) joined #forth 02:59:52 --- quit: fantazo (Remote host closed the connection) 03:00:24 --- join: fantazo (~fantazo@80.110.10.76) joined #forth 03:04:42 --- quit: fantazo (Ping timeout: 255 seconds) 03:08:39 --- quit: Anarch (Ping timeout: 252 seconds) 03:55:01 --- quit: true-grue (Remote host closed the connection) 03:55:26 --- join: true-grue (~grue@95-24-251-203.broadband.corbina.ru) joined #forth 04:04:29 --- join: fantazo (~fantazo@80.110.10.76) joined #forth 04:13:41 --- join: Zarutian (~zarutian@194-144-84-110.du.xdsl.is) joined #forth 04:59:54 --- join: xyh (~user@121.33.190.154) joined #forth 05:01:40 retro do not exit when I type C-d to the terminal ?? why ?? how can I achieve this in a interpreter ?? is it good ?? 05:01:48 :) crc 05:06:15 type 'bye' , xyh 05:07:46 i remember they added a keymap system a while back, but i don't know how to use it. it might be possible to add support for ^D 05:10:56 tangentstorm: I just wonder how should I handle this. is it good to support ^D ? or it is better to have a keymap system ? all other interpreters I know will exit on ^D ! 05:11:32 xyh: that's because they're based on the idea of reading standard io 05:12:21 retro is its own virtual machine, and it's transferring data to and from a set of virtual hardware devices. 05:16:54 --- quit: xyh (Ping timeout: 264 seconds) 05:17:15 --- join: xyh (~user@121.33.190.154) joined #forth 05:21:03 --- nick: jimt_ -> jimt 05:26:26 tangentstorm: by the way, I have implement the LambdaStack I mentioned last time :) 05:26:26 and I can pass the following test: https://www.refheap.com/86265 05:26:27 so I can use lambda with real lexical-scope now! 05:27:25 and I change my language's name from ``xiaolinguist'' to ``cicada'', 05:27:25 it is much easier to read for western people. 05:27:25 after I write more documentation, I hope you can give the little cicada some test :) 05:41:49 --- join: MrMobius (~Joey@91.192.66.16) joined #forth 05:57:19 --- join: c00kiemon5ter (~c00kiemon@foss-aueb/coder/c00kiemon5ter) joined #forth 06:01:28 --- quit: fantazo (Remote host closed the connection) 06:02:02 --- join: fantazo (~fantazo@80.110.10.76) joined #forth 06:05:39 --- join: fantazo_ (~fantazo@80.110.10.76) joined #forth 06:05:55 --- quit: fantazo (Remote host closed the connection) 06:09:29 xyh: are you familiar with de bruijn idices? 06:10:16 you can use them to refer to variables in lambda terms without using their names. 06:10:38 i was looking at how to implement them the other day, and it seems very forth-like 06:11:49 tangentstorm: no, this is the first time I hear about it, I am reading the wiki page of it now 06:13:04 like (λx.λy.x) (a 'const' combinator) would compress down to (λλ1) (where the numbering starts at 0), so what the 1 means is "number the lambdas as 0,1 (going backward) and then reference the variable at index 1" 06:14:17 so it's sort of like "pick" in forth, but also combined with a sort of marker that tracks the size of the lambda stack i think (so that you can pop the variables off the stack once you hit the closing parens and they fall out of scope) 06:14:45 i haven't figured out how it would work with higher order functions though 06:15:16 and i don't know if it's a good idea or anything, i just thought you might find it interesting :) 06:15:48 but yeah, i'll try it out when you're ready. i like to try new languages. :) 06:20:37 --- quit: xyh (Ping timeout: 260 seconds) 06:23:57 --- join: xyh (~user@121.33.190.154) joined #forth 06:24:00 --- quit: Zarutian (Ping timeout: 245 seconds) 06:24:03 thx for teaching me this, 06:24:06 while, (λx.λy.x) in cicada is : 06:24:10 [ [ :x ] [ :y ] λ ] [ :x ] λ 06:24:18 λ will use the first two lists (double-linked-list in cicada, I call them dalin) to from a directed graph , 06:24:19 just like the graph drawed in the Wikipedia page of ``De Bruijn index'' 06:24:23 this is how lexical-scope is done in cicada 06:24:31 just by graph :) 06:28:16 but this is still not the directed-graph-processing-language, this is the forth-like one, I will implement the directed-graph-processing-language in this language :) 06:29:29 --- join: Zarutian (~zarutian@194-144-84-110.du.xdsl.is) joined #forth 06:56:42 --- part: xyh left #forth 07:17:02 --- quit: fantazo_ (Remote host closed the connection) 07:17:33 --- join: fantazo (~fantazo@80.110.10.76) joined #forth 07:18:26 --- join: fantazo_ (~fantazo@80.110.10.76) joined #forth 07:18:26 --- quit: fantazo (Read error: Connection reset by peer) 07:23:31 --- quit: fantazo_ (Ping timeout: 264 seconds) 07:29:36 --- join: gp5st (~james.kee@static-96-235-41-234.pitbpa.fios.verizon.net) joined #forth 07:32:12 are there any "typed" forths? 07:33:05 i'm working on one that i'm going to put vector types in (still can only enter ints into the program) 07:35:50 gp5st: The closest I've seen to a "typed Forth" is Factor, which isn't really a Forth except in the most superficial of ways. 07:38:08 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 07:45:38 ttmrichter: I feel like there's a rant behind that statement I might want to listen to:-p 07:53:14 There's StrongForth, if you prefer mandatory typing a la Pascal. 07:56:28 --- join: joneshf-laptop (~joneshf@98.255.30.38) joined #forth 08:01:24 --- join: fantazo (~fantazo@2001:858:5:3a40:617a:a071:e3e6:6563) joined #forth 08:01:51 gp5st: Forth is a typed language 08:01:57 for reference: https://github.com/jimktrains/fcalc is what i'm working on. it's still up for some changes, but that's the brunt of it 08:02:00 the type is machine native int 08:02:16 you've got one type 08:02:24 can't be much more type-safe than that 08:02:30 gordonjcp: :-p 08:03:13 Single type and type-safe are mutually exclusive. 08:05:17 At least in languages without distinctive universal type. 08:05:21 E.g. Forth. 08:10:07 if you can't do it in machine-native ints you haven't fully characterised the problem 08:10:56 It is computers created to serve humans rather than vice versa. 08:11:28 Type-safe languages help formulating problems in correct way. 08:11:30 Forth doesn't. 08:13:05 it's the diffrence between C and Prolog. In C I tell the how to do what I want, and in Prolog I tell the computer only what I want 08:13:43 Typing discipline is orthogonal to this. 08:13:59 You can do anything of that. 08:14:18 Type information helps checking whether your formulation is sound. 08:14:37 (Or better, whether your formulation is not unsound.) 08:15:17 --- quit: fantazo (Remote host closed the connection) 08:15:53 --- join: fantazo (~fantazo@2001:858:5:3a40:617a:a071:e3e6:6563) joined #forth 08:16:53 --- quit: fantazo (Remote host closed the connection) 08:17:08 --- join: fantazo (~fantazo@213.129.230.10) joined #forth 08:18:40 --- join: mark4 (~mark4@cpe-68-203-183-77.tx.res.rr.com) joined #forth 08:31:02 * tangentstorm went searching for strongforth. 08:31:35 latest version i've located sofar is 1.4 from a snapshot on jan 29 2012 08:31:39 http://web.archive.org/web/20120129051615/http://home.vrweb.de/~stephan.becher/forth/#Download 08:32:21 looks like the changelog says it was last touched in 2008 though. 08:59:25 --- join: petercommand (~peter@unaffiliated/petercommand) joined #forth 09:08:16 --- quit: Zarutian (Quit: Zarutian) 09:34:12 --- quit: fantazo (Remote host closed the connection) 09:34:30 --- join: fantazo (~fantazo@2001:858:5:3a40:617a:a071:e3e6:6563) joined #forth 09:40:29 --- join: kumul (~mool@adsl-72-50-86-7.prtc.net) joined #forth 09:46:41 --- join: Zarutian (~zarutian@194-144-84-110.du.xdsl.is) joined #forth 09:49:40 --- quit: fantazo () 10:15:33 --- quit: pvt_petey () 10:32:18 --- quit: joneshf-laptop (Remote host closed the connection) 10:57:05 --- join: Zarutian_ (~zarutian@194-144-84-110.du.xdsl.is) joined #forth 10:58:35 --- quit: Zarutian (Ping timeout: 240 seconds) 10:58:36 --- nick: Zarutian_ -> Zarutian 11:08:08 --- quit: Zarutian (Quit: Zarutian) 11:11:31 --- join: aranhoide (~aranhoide@162.Red-83-47-64.dynamicIP.rima-tde.net) joined #forth 11:23:57 how does if/then work in forth? I was once told they can be written with jump primatives, but im not 100% sure I understand since i didn't think intepreters looked ahead 11:24:39 --- join: joneshf-laptop (~joneshf@128.120.119.228) joined #forth 11:26:36 they don't need to :) 11:26:47 gp5st: They use patching. 11:26:57 go ooonn:) 11:27:17 let's play "be the compiler" :) 11:27:28 <3 this game! 11:27:30 : 11:27:53 make a word 11:27:54 ^ that means you start a new def.. but first you have to wait for me to tell you what you're defining. 11:28:03 MAX 11:28:23 ( 11:28:25 n n - n ) 11:28:59 gp5st: Well, there is nothing Forth-specific here. It's a way, that is used in all single-pass compilers. They generate jump 0, for example. And in some another point (at the end of if) they change 0 to actual value on the saved address. 11:29:10 2DUP 11:29:20 > 11:29:32 IF 11:30:07 so what do you do for IF, given what true-grue just said, gp5st ? 11:31:00 ah 11:32:03 i like CM's definitions for min/max 11:32:41 what'd he use? 11:33:17 : min 2dup < if begin nip ; : max 2dup > until then drop ; or something like that 11:33:42 --- join: goingretro (~kbmaniac@host86-157-30-139.range86-157.btcentralplus.com) joined #forth 11:34:43 i.e the if and begin in one definition, the then and the until in the other 11:35:14 very efficient spae wise but i have... 11:36:01 : min 2dup < ?: nip drop ; : max 2dup > ?: nip drop ; 11:36:13 just as efficient space wise and probably slightly faster 11:36:20 usng my ?: word 11:36:59 --- nick: mark4 -> I440r 11:37:05 --- mode: ChanServ set +o I440r 11:39:59 --- join: _spt_ (~Jaat@host-92-12-223-39.as43234.net) joined #forth 11:39:59 --- quit: _spt_ (Changing host) 11:39:59 --- join: _spt_ (~Jaat@unaffiliated/-spt-/x-5624824) joined #forth 11:41:08 --- join: Zarutian (~zarutian@194-144-84-110.du.xdsl.is) joined #forth 11:41:18 --- quit: MrMobius (Disconnected by services) 11:41:26 huh! that's kind of crazy. :) 11:41:31 --- join: MrM0bius (~Joey@194.176.111.163) joined #forth 11:42:22 perfectly legal 11:42:40 i mean the if/then etc in separate colon defs 11:42:59 yeah me too. i like your version better :) 11:43:13 i also invented (tho im probably not the first to do so) the, "begin while until else then" loop 11:43:30 think of it as a begin/until loop that has an IF/else/then interleaved with it 11:43:38 i.e. read "while" as "if" 11:44:14 no other forth uses my ?: word that i know of, not even by another name but its so blatanyly obvious to me 11:45:20 wht is XLTE? 11:45:45 retroforth has something very much like your ?: but it's postfix and uses the quoting mechanism. 11:45:48 blarg wrong chan 11:45:58 you'd say [ nip ] [ drop ] if 11:46:50 (but it's a non-forthy-forth) :) 11:47:16 ya lol 11:47:25 but i say colorforth is non forthy too 11:48:07 :) 11:48:34 * tangentstorm realizes he has been chatting on irc all day and not gotten any work done. :( 11:48:47 heh 11:59:22 --- join: ehaliewicz (~user@50-0-50-2.dsl.dynamic.sonic.net) joined #forth 12:00:18 <_spt_> evening 12:18:02 --- join: teslacuted (~teslacut@skynet.skynet.ie) joined #forth 12:21:01 Hello, I recently came across forth and I'm finding it fascinating. I have some MCU experience (C) but would love to give forth a run on these devices. Obvious bias aside, do you think forth is still a good choice for these modern devices? 12:21:36 which devices? 12:22:14 the only devices i see where forth might be an issue would be the low end PIC controllers and maybe some others 12:22:58 --- quit: Zarutian (Quit: Zarutian) 12:29:30 everything is an issue on PIC devices 12:29:40 they're the only CPU that's actually easier to program in assembler than C 12:36:11 I was thinking a cortex-m0 12:36:43 but I have a few 8051 and atmel devices aswell. There's a few implementations for the atmel chips too. 12:37:33 Basically, I get the feeling that it's an older language, and wanted to know if there were any obvious caveats about using it on comtemporary devices. 12:38:09 xyh: can you tell me what the return value of ^D is on your system? 12:38:31 xyh: type getc ^D putn 12:38:56 xyh: (on my linux box, with the C implementation of ngaro, it's 4) 12:39:15 --- nick: _spt_ -> _spt|on_call 12:39:21 xyh: so adding support could be done with a key remap 12:39:28 xyh: [ dup 4 = [ drop bye ] ifTrue ] is remapKeys 12:39:41 xyh: replacing the 4 with the value that your system returns 12:48:26 --- quit: karswell (Ping timeout: 260 seconds) 12:48:49 --- quit: I440r (Quit: Leaving) 12:49:24 --- quit: MrM0bius (Quit: HydraIRC -> http://www.hydrairc.com <- Po-ta-to, boil em, mash em, stick em in a stew.) 12:56:33 --- quit: TodPunk (Ping timeout: 276 seconds) 13:14:24 --- join: _spt2_ (~Jaat@host-92-12-223-39.as43234.net) joined #forth 13:15:11 --- join: true-grue_ (~grue@95-24-251-203.broadband.corbina.ru) joined #forth 13:18:08 --- quit: _spt|on_call (Ping timeout: 264 seconds) 13:18:08 --- quit: true-grue (Ping timeout: 264 seconds) 13:55:13 --- nick: _spt2_ -> _spt_ 13:59:53 --- quit: nop0x07bc (Quit: WeeChat 0.4.3) 14:11:33 --- join: Mat3 (~Mat@91-64-127-6-dynip.superkabel.de) joined #forth 14:11:35 hello 14:12:37 heya Mat3 14:27:45 --- quit: _spt_ (Quit: the Jupiter ACE has lost connection) 14:32:11 hi tangentstorm 14:40:09 --- join: ASau (~user@46.114.44.38) joined #forth 14:52:36 --- quit: cataska (Ping timeout: 240 seconds) 14:58:18 --- quit: true-grue_ (Read error: Connection reset by peer) 14:58:27 --- join: cataska (~cataska@118-163-69-1.HINET-IP.hinet.net) joined #forth 15:01:16 ciao 15:01:23 --- quit: Mat3 (Quit: Verlassend) 15:25:56 --- quit: ehaliewicz (Ping timeout: 264 seconds) 15:32:15 --- quit: tangentstorm (Quit: WeeChat 0.3.2) 16:33:33 --- join: Zarutian (~zarutian@194-144-84-110.du.xdsl.is) joined #forth 16:47:21 --- quit: aranhoide (Read error: Connection reset by peer) 17:07:11 --- quit: joneshf-laptop (Remote host closed the connection) 17:12:01 --- quit: kumul (Read error: Connection reset by peer) 17:20:49 --- join: ehaliewicz (~user@50-0-50-2.dsl.dynamic.sonic.net) joined #forth 17:50:17 --- quit: ehaliewicz (Ping timeout: 245 seconds) 18:38:59 --- join: kumul (~mool@adsl-72-50-86-7.prtc.net) joined #forth 18:44:51 --- join: TodPunk (Tod@50-198-177-186-static.hfc.comcastbusiness.net) joined #forth 18:49:40 --- join: saml_ (~saml@pool-71-190-8-215.nycmny.east.verizon.net) joined #forth 19:07:32 --- quit: Zarutian (Ping timeout: 240 seconds) 19:14:25 --- join: Zarutian (~zarutian@194-144-84-110.du.xdsl.is) joined #forth 19:51:19 --- quit: Zarutian (Quit: Zarutian) 20:00:27 --- join: tangentstorm (~michal@108-218-151-22.lightspeed.rcsntx.sbcglobal.net) joined #forth 20:07:40 --- quit: mnemnion (Read error: Connection reset by peer) 21:06:37 --- join: mnemnion (~mnemnion@c-98-210-219-91.hsd1.ca.comcast.net) joined #forth 21:34:20 --- quit: saml_ (Ping timeout: 260 seconds) 21:51:46 --- quit: cataska (Remote host closed the connection) 22:00:32 --- join: nop0x07bc (~pon1980@h107n8-aepv-d7.ias.bredband.telia.com) joined #forth 22:05:19 --- join: cataska (~cataska@118-163-69-1.HINET-IP.hinet.net) joined #forth 23:02:26 --- quit: kumul (Quit: Leaving) 23:07:38 --- quit: aksatac_ (Ping timeout: 252 seconds) 23:08:22 --- quit: crc (Ping timeout: 252 seconds) 23:08:36 --- join: aksatac_ (uid12717@gateway/web/irccloud.com/x-xvqiqxbxmxifvpsg) joined #forth 23:08:42 --- join: crc (sid2647@gateway/web/irccloud.com/x-eupopyqjdiocsgmz) joined #forth 23:39:26 --- quit: teslacuted (Ping timeout: 276 seconds) 23:40:34 --- join: teslacuted (~teslacut@skynet.skynet.ie) joined #forth 23:44:47 --- join: bbloom_ (~bbloom@cpe-68-173-7-82.nyc.res.rr.com) joined #forth 23:45:50 --- quit: bbloom (Ping timeout: 240 seconds) 23:59:59 --- log: ended forth/14.06.04