00:00:00 --- log: started forth/17.04.02 00:11:58 --- join: neceve (~ncv@86.125.247.109) joined #forth 00:11:58 --- quit: neceve (Changing host) 00:11:58 --- join: neceve (~ncv@unaffiliated/neceve) joined #forth 00:40:43 --- join: smokeink (~smoke@175.20.93.33) joined #forth 00:51:57 --- join: gravicappa (~gravicapp@ppp83-237-168-120.pppoe.mtu-net.ru) joined #forth 01:59:09 --- join: wa5qjh (~Thunderbi@121.54.90.154) joined #forth 02:01:05 --- quit: ACE_Recliner (Remote host closed the connection) 02:10:42 --- quit: Quozl` (Ping timeout: 260 seconds) 02:19:31 --- join: true-grue (~true-grue@176.14.222.10) joined #forth 02:22:48 --- join: GeDaMo (~GeDaMo@212.225.127.213) joined #forth 04:29:27 --- quit: smokeink (Ping timeout: 240 seconds) 07:02:55 --- join: vsg1990 (~vsg1990@static-72-88-80-103.bflony.fios.verizon.net) joined #forth 07:11:29 --- join: smokeink (~smoke@175.20.93.53) joined #forth 07:20:44 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 07:23:30 --- quit: smokeink (Ping timeout: 260 seconds) 07:24:56 --- join: smokeink (~smoke@175.20.93.41) joined #forth 07:29:35 --- quit: smokeink (Client Quit) 08:57:51 --- quit: dys (Read error: Connection reset by peer) 09:16:51 --- join: dys (~dys@ip-109-40-2-79.web.vodafone.de) joined #forth 10:03:50 --- quit: Zarutian (Quit: Zarutian) 10:12:46 --- quit: neceve (Quit: Konversation terminated!) 10:23:24 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 10:24:19 --- quit: Zarutian (Read error: Connection reset by peer) 10:24:55 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 12:53:55 --- quit: Zarutian (Quit: Zarutian) 13:10:13 --- quit: nighty- (Quit: Disappears in a puff of smoke) 13:39:54 --- quit: GeDaMo (Remote host closed the connection) 13:55:08 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 13:56:01 --- quit: Zarutian (Read error: Connection reset by peer) 13:56:20 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 14:28:03 --- join: _spt_ (~spt@host-92-24-240-131.ppp.as43234.net) joined #forth 14:28:03 --- quit: _spt_ (Changing host) 14:28:03 --- join: _spt_ (~spt@unaffiliated/-spt-/x-5624824) joined #forth 14:29:49 --- quit: _spt_ (Client Quit) 14:36:54 --- quit: gravicappa (Ping timeout: 260 seconds) 14:46:49 --- join: Quozl` (~quozl@antitheft.laptop.org) joined #forth 14:52:22 --- quit: wa5qjh (Remote host closed the connection) 15:31:04 --- quit: true-grue (Read error: Connection reset by peer) 17:44:57 --- quit: beretta (Ping timeout: 240 seconds) 17:45:34 --- join: beretta (~beretta@cpe-184-58-116-76.columbus.res.rr.com) joined #forth 17:58:19 --- quit: beretta (Ping timeout: 240 seconds) 17:58:48 --- join: beretta (~beretta@cpe-184-58-116-76.columbus.res.rr.com) joined #forth 18:34:38 --- join: nighty (~nighty@p001.gate.atson.jp) joined #forth 18:49:41 --- quit: beretta (Ping timeout: 256 seconds) 18:52:43 --- join: beretta (~beretta@cpe-184-58-116-76.columbus.res.rr.com) joined #forth 18:57:18 --- quit: beretta (Ping timeout: 260 seconds) 18:57:41 --- join: beretta (~beretta@cpe-184-58-116-76.columbus.res.rr.com) joined #forth 19:04:13 --- join: neceve (~ncv@unaffiliated/neceve) joined #forth 19:44:09 --- join: ACE_Recliner (~ACE_Recli@c-50-165-178-74.hsd1.in.comcast.net) joined #forth 20:06:48 --- quit: neceve (Quit: Konversation terminated!) 20:08:29 --- quit: Zarutian (Quit: Zarutian) 20:26:25 --- quit: dys (Read error: Connection reset by peer) 21:04:50 --- quit: ricky_ricardo (Remote host closed the connection) 21:09:32 --- quit: vsg1990 (Quit: Leaving) 21:11:48 --- quit: proteus-guy (Remote host closed the connection) 21:12:19 --- quit: dual (Ping timeout: 240 seconds) 22:32:25 --- join: dys (~dys@ip-109-40-2-79.web.vodafone.de) joined #forth 22:52:36 --- join: kevinfish (~kevinfish@162-201-44-69.lightspeed.frokca.sbcglobal.net) joined #forth 22:54:53 Hi, any FreeForth users out here? How do I do something like: : five-x: ( n -- ; -- 5*n) 5* constant` ; 7 five-x: foo foo . ; (outputs 35). Right now it just outputs 7 and ignores the internal 5* 23:28:32 --- join: proteusguy (~proteus-g@180.183.129.35) joined #forth 23:28:32 --- mode: ChanServ set +v proteusguy 23:48:42 --- join: wa5qjh (~Thunderbi@121.54.90.152) joined #forth 23:50:31 --- join: John[Lisbeth] (~user@2601:601:8f01:a6a0:6577:c7b2:afad:6883) joined #forth 23:50:41 I am thinking I want to build a shell 23:51:01 or rather create a macro in ans forth that will bring me into and out of a shell 23:52:08 kevinfish: not a freeforth user, but in any ans forth you can do: : five-x: Create , does> @ 5 * ; 23:53:02 koisoke: yeah, sadly freeforth is quite a different animal 23:53:27 its purely compiled 23:53:43 or just : five-x: 5 * Constant ; 23:53:50 ah 23:53:55 are there macros in freeforth? 23:54:08 John[Lisbeth]: yes. 23:54:21 the statement above should be transferrable pretty easily then 23:54:34 you create a macro by defining a word with a trailing backtick 23:56:11 when compiling it parses a word from the input stream, appends a backtick, looks it up in the dictionary, if it's there, it executes it if its of a "code" type (or pushes its value if its a "data" type). If its not found, it takes the backtick off, then looks it up again, and if found it compiles a call to it (if code) or a literal and push of its value (if data) 23:56:24 if both searches fail it tries to convert to a literal number 23:57:29 what was the original thing you watned to do in freeforth? I just joined 23:58:09 o something 23:58:09 like: : five-x: ( n -- ; -- 5*n) 5* constant` ; 7 23:58:10 five-x: foo foo . ; (outputs 35). Right now it just 23:58:10 outputs 7 and ignores the internal 5* 23:58:29 oh I see 23:58:31 kevinfish: not sure i'm getting how the trailing backtick words in freeforth are different from immediate words in other forths 23:58:46 koisoke: it basically makes it immediate 23:59:11 but the twist, is if you want it to be postponed you have to compile it with a backtick in the body of the definition 23:59:22 if you compile it without the backtick in the body it executes immediately 23:59:38 its kind of hard to wrap your head around 23:59:44 so basically the above code that koisoke wrote seems to do exactly what you want, but in ans forth, so if you speak ans forth you must translate that into free forth on your own or else one of us most learn freeforth 23:59:59 --- log: ended forth/17.04.02