00:00:00 --- log: started forth/19.01.20 00:02:20 --- quit: dys (Ping timeout: 250 seconds) 00:10:08 --- join: jedb (jedb@gateway/vpn/mullvad/x-zulesykcoxprukot) joined #forth 00:36:50 --- join: dys (~dys@tmo-087-47.customers.d1-online.com) joined #forth 01:16:45 in spf how to get the sizeof such a struct ? http://spf.sourceforge.net/docs/intro.en.html#struct 01:45:38 ;struct defined here seems to be able to do the magic https://github.com/rufig/spf/blob/master/lib/ext/struct.f how does it work ?? 01:47:12 this is how one can use it https://github.com/rufig/spf/blob/master/devel/~ygrek/prog/sci/struct.f can anyone give me a hint or explain how does ;struct's definition work ? 02:04:08 --- quit: ashirase (Ping timeout: 246 seconds) 02:06:57 --- join: ashirase (~ashirase@modemcable098.166-22-96.mc.videotron.ca) joined #forth 03:03:45 --- quit: gravicappa (Ping timeout: 244 seconds) 03:32:41 --- quit: pierpal (Ping timeout: 244 seconds) 04:02:23 what does name> do ? 04:08:30 --- join: gravicappa (~gravicapp@h109-187-251-146.dyn.bashtel.ru) joined #forth 04:19:14 I kinda got it... i think I understand now what STRUCT: does, but I don't understand evaluate-with and ;module in ;STRUCT 04:40:49 --- quit: probonono (Ping timeout: 268 seconds) 04:44:25 --- join: probonono (~User@unaffiliated/probonono) joined #forth 04:51:09 --- quit: probonono (Ping timeout: 240 seconds) 04:51:14 --- join: luptenschteiner (~User@ppp103-111.static.internode.on.net) joined #forth 05:04:21 I can't find the file lib/ext/struct.f so I'd have no idea. 05:12:41 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 05:15:50 I linked to it above https://github.com/rufig/spf/blob/master/lib/ext/struct.f 05:17:01 --- join: [1]MrMobius (~default@c-73-134-82-217.hsd1.va.comcast.net) joined #forth 05:17:05 I think ;module adds :: as a suffix for the structure name, which can then be followed by structname::/size or structname::anyfield 05:19:58 --- quit: MrMobius (Ping timeout: 250 seconds) 05:19:58 --- nick: [1]MrMobius -> MrMobius 05:23:47 --- join: [1]MrMobius (~default@c-73-134-82-217.hsd1.va.comcast.net) joined #forth 05:27:05 --- quit: MrMobius (Ping timeout: 245 seconds) 05:27:05 --- nick: [1]MrMobius -> MrMobius 05:47:54 http://spf.sourceforge.net/docs/intro.en.html#module 05:52:35 --- join: Kumool (~Khwerz@adsl-64-237-233-246.prtc.net) joined #forth 05:53:10 https://github.com/rufig/spf/blob/master/src/compiler/spf_modules.f 06:04:27 but I don't understand which part of the code makes forth understand "::" as a suffix. Or is it a standard way to access a word from within a certain wordlist ? 06:07:56 It's probably an SP-Forth thing, perhaps they have a mailing list or else you'll have to scour the documentation 06:08:28 So apparently you can now buy microcontrollers with mecrisp forth pre-installed https://mastodon.social/@cstrotm/101403221244866593 06:09:15 Can you modify the program stored in flash from the interpreter command line? 06:10:08 WilhelmVonWeiner: Yeah, mecrisp has compiletoflash and compiletoram 06:10:47 I think the idea might be to get a forth prompt over the radio 06:12:30 --- quit: proteusguy (Ping timeout: 245 seconds) 06:14:25 smokeink: maybe the text interpreter is being extended with spf's notfound mechanism https://stackoverflow.com/questions/35362062/how-do-i-extend-the-outer-interpreter 06:35:44 thanks :) 06:47:37 time to take a break now, I will come with more questions next time 06:55:40 --- quit: smokeink (Remote host closed the connection) 06:59:50 src/compile/spf_translate.f, in NOTFOUND 07:06:49 --- quit: xek_ (Ping timeout: 240 seconds) 07:43:11 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 07:55:12 --- join: proteusguy (~proteus-b@cm-58-10-154-54.revip7.asianet.co.th) joined #forth 07:55:12 --- mode: ChanServ set +v proteusguy 08:02:14 --- join: darithorn (~darithorn@75.174.238.174) joined #forth 08:23:34 --- quit: jackdaniel (Ping timeout: 244 seconds) 08:36:10 --- quit: pierpal (Quit: Poof) 08:36:31 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 08:37:22 --- quit: pierpal (Client Quit) 08:37:41 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 08:40:35 --- quit: dave0 (Quit: dave's not here) 08:43:51 --- quit: nighty- (Remote host closed the connection) 08:46:08 --- join: jackdaniel (~jackdanie@92.222.177.244) joined #forth 08:52:20 --- quit: jackdaniel (Quit: ZNC 1.7.1 - https://znc.in) 08:57:05 --- quit: pierpal (Ping timeout: 245 seconds) 09:07:32 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 09:15:29 --- quit: darithorn (Read error: Connection reset by peer) 09:17:10 --- quit: pierpal (Ping timeout: 268 seconds) 09:36:11 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 09:57:27 --- quit: pierpal (Read error: Connection reset by peer) 10:01:09 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 10:02:54 --- quit: pierpal (Read error: Connection reset by peer) 10:12:28 --- quit: Kumool (Ping timeout: 250 seconds) 10:14:21 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 10:14:32 --- join: Kumool (~Khwerz@adsl-64-237-233-246.prtc.net) joined #forth 10:22:55 --- quit: pierpal (Ping timeout: 245 seconds) 10:30:45 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 10:39:20 --- quit: pierpal (Ping timeout: 250 seconds) 10:48:18 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 10:49:52 --- quit: pierpal (Read error: Connection reset by peer) 10:50:14 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 10:58:51 --- quit: pierpal (Ping timeout: 250 seconds) 10:59:54 --- join: jackdaniel (~jack@hellsgate.pl) joined #forth 11:01:11 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 11:06:30 --- quit: jackdaniel (Quit: leaving) 11:07:43 --- join: jackdaniel (~jackdanie@hellsgate.pl) joined #forth 11:07:52 --- quit: pierpal (Read error: Connection reset by peer) 11:08:31 --- quit: jackdaniel (Client Quit) 11:08:39 --- join: jackdaniel (~jackdanie@hellsgate.pl) joined #forth 11:09:10 --- quit: jackdaniel (Client Quit) 11:09:43 --- join: jackdaniel (~jackdanie@hellsgate.pl) joined #forth 11:10:01 --- quit: jackdaniel (Client Quit) 11:10:09 --- join: jackdaniel (~jackdanie@hellsgate.pl) joined #forth 11:14:43 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 11:19:15 --- quit: pierpal (Ping timeout: 272 seconds) 11:21:46 --- quit: gravicappa (Ping timeout: 272 seconds) 11:24:18 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 11:28:32 --- quit: pierpal (Ping timeout: 244 seconds) 11:42:33 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 11:46:53 --- quit: pierpal (Ping timeout: 246 seconds) 11:55:15 --- join: Monev (~Khwerz@adsl-64-237-233-246.prtc.net) joined #forth 11:55:20 --- quit: Kumool (Ping timeout: 272 seconds) 12:05:18 --- join: xek_ (~xek@apn-31-0-23-82.dynamic.gprs.plus.pl) joined #forth 12:07:51 --- join: mtsd (~mtsd@94-137-100-130.customers.ownit.se) joined #forth 12:08:23 --- quit: Monev (Quit: EXIT) 12:09:08 --- join: Kumool (~Khwerz@adsl-64-237-233-246.prtc.net) joined #forth 12:13:20 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 12:16:17 --- quit: dys (Ping timeout: 246 seconds) 12:18:48 --- join: darithorn (~darithorn@75.174.238.174) joined #forth 12:22:24 --- join: dys (~dys@tmo-106-188.customers.d1-online.com) joined #forth 12:38:20 --- quit: Kumool (Ping timeout: 245 seconds) 12:42:31 --- quit: pierpal (Ping timeout: 268 seconds) 12:48:23 --- quit: mtsd (Quit: WeeChat 1.6) 12:48:49 --- quit: xek_ (Remote host closed the connection) 12:49:16 --- join: xek_ (~xek@apn-31-0-23-82.dynamic.gprs.plus.pl) joined #forth 12:52:10 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 12:56:32 --- quit: pierpal (Ping timeout: 246 seconds) 13:01:00 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 13:01:32 --- quit: pierpal (Client Quit) 13:01:42 crc: I suggest that you look how the socket package for Lua does them for inspiration on how to do them in retro 13:01:50 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 13:05:59 --- quit: pierpal (Ping timeout: 246 seconds) 13:18:22 --- quit: xek_ (Ping timeout: 250 seconds) 13:26:24 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 13:30:50 --- quit: pierpal (Ping timeout: 246 seconds) 14:25:16 --- join: rdrop-exit (~markwilli@112.201.166.158) joined #forth 14:25:31 Good morning Forthwrights :) 14:35:48 so i mentioned i had an idea recently and, as is typical of most of my ideas, it fell apart pretty quickly 14:36:54 my idea was to replace the parameter stack with a circular buffer (a belt), and then two words push and pop for moving data between the stack and the belt 14:37:31 but push and pop would take an argument, which would be a number which encodes indices and ordering to operate with 14:38:14 for example, 123 push <-- push the third-last belt item to the stack, then the second, then the first 14:39:15 or 231 pop <-- pop three items, arranging them such that they appear on the belt in the order second, third, then first 14:40:27 so my thought was that you'd use the belt for parameter passing and return values, but being that it's ephemeral data you would use the stack for persistence 14:41:27 where it immediately breaks down is that interpret mode doesn't work at all since you'd be pushing items onto the belt, but then the interpreter would also use the belt, trampling your stuff 14:41:59 has anyone ever used a similar idea for a forth-like language? can this be made to work? 14:45:06 What problem is your idea meant to solve? 14:47:04 stack juggling 14:47:40 and it's satisfying a curiosity itch 14:48:26 sometimes you just have to explore things because they look interesting, and any problem it solves is serendipity 15:01:56 --- quit: MrMobius (Ping timeout: 250 seconds) 15:07:47 --- join: Kumool (~Khwerz@adsl-64-237-233-246.prtc.net) joined #forth 15:34:10 --- quit: X-Scale (Ping timeout: 245 seconds) 15:38:40 thanks for elaborating 16:04:10 --- join: dave0 (~dave0@193.060.dsl.syd.iprimus.net.au) joined #forth 16:06:53 hi 16:08:53 --- join: X-Scale (~ARM@83.223.241.239) joined #forth 16:29:45 Hi dave0 16:29:52 hi rdrop-exit 16:42:55 ^ common x 16:43:05 oops wrong window 16:43:24 please ignore 16:43:37 you can't make me 16:44:01 large cheeseburger, large fries, strawberry shake... 20 nuggets, uh, another burger 16:44:02 I'll hypnotize you @-@ 16:44:06 oops wrong window 16:44:11 please ignore 16:44:28 WilhelmVonWeiner: except for nuggest and strawberry, you were on a roll 16:44:38 "nuggets" 16:44:49 the nuggest of them all 16:45:02 chezboorger cheezboorger! No shake, nuggets, only chezboorger cheezboorger! 16:45:23 Classic SNL 16:45:34 I map-reduce my nuggets. (reduce my-mouth (map ketchup nuggets)) 16:45:42 I can do vanilla on occasion, (a Malted is better).. I'd rather have orings or even poppers, rather than the nuggets 16:46:34 poppers are great but nowhere does them in England unless it's a special seasonal thing I don't think 16:47:05 weird 16:47:57 Vanilla Malted mmmmm 16:48:15 Hard to find the malt powder here 16:48:45 Will have to remember to bring some back on my next US trip 16:49:48 rdrop-exit: good groceries will have it.. I find that a good Malted is damned near as nice as a beer. 16:50:24 (and frankly, I prefer a malty beer and get goddamned tired of the fuckwits thinking beer==HOPS++ 16:51:29 --- quit: john_cephalopoda (Ping timeout: 252 seconds) 16:51:32 Our local beers are not bad, I like a good Belgian beer every once in a while 16:52:26 I live next door to the HQ of the oldest brewery in Asia 16:53:06 when I was doing my own beer, I always chopped the hops by 25-75% and boosted the malt-extract 16:53:27 --- join: john_cephalopoda (~john@unaffiliated/john-cephalopoda/x-6407167) joined #forth 16:54:41 Hops oc flavour 16:54:45 they're proportional 16:54:53 more hops, more flavour 16:55:00 nope 16:55:05 Not even close 16:55:32 hops are antibacterial and bittering. Period. 16:55:49 if I want BITTER, I'll get married again 16:55:50 bitterness oc flavour 16:55:54 LOL 16:56:15 ..and I can splash in my own bitters, acids, etc 16:56:21 I do like malty ales, Newcastle Brown 16:57:43 but I also like Hop House 13, they call that double-hopped 16:59:38 --- join: nighty- (~nighty@b157153.ppp.asahi-net.or.jp) joined #forth 17:02:47 --- quit: nighty- (Max SendQ exceeded) 17:19:46 --- join: nighty- (~nighty@b157153.ppp.asahi-net.or.jp) joined #forth 17:23:49 --- quit: rdrop-exit (Quit: Lost terminal) 17:26:18 --- quit: dave0 (Quit: dave's not here) 17:51:21 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 17:55:29 --- quit: pierpal (Ping timeout: 240 seconds) 17:57:20 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 18:01:20 --- quit: nighty- (Remote host closed the connection) 18:02:02 --- quit: pierpal (Ping timeout: 272 seconds) 18:10:29 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 18:14:29 --- quit: pierpal (Ping timeout: 240 seconds) 18:15:09 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 18:19:50 --- quit: pierpal (Ping timeout: 268 seconds) 18:21:41 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 18:25:50 --- quit: pierpal (Ping timeout: 245 seconds) 18:26:49 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 18:29:27 --- join: smokeink (~smokeink@118.131.144.142) joined #forth 18:31:33 --- quit: pierpal (Ping timeout: 268 seconds) 18:48:39 Zarutian: will do. It's going to be a while though since I don't have any projects planned that need sockets support. 19:02:21 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 19:06:39 --- quit: pierpal (Read error: Connection reset by peer) 19:06:52 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 19:11:30 --- quit: pierpal (Read error: Connection reset by peer) 19:16:51 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 19:20:49 --- quit: pierpal (Ping timeout: 240 seconds) 19:23:31 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 19:33:16 --- quit: pierpal (Read error: Connection reset by peer) 19:36:02 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 19:46:38 --- quit: pierpal (Ping timeout: 250 seconds) 19:50:24 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 19:52:01 --- quit: pierpal (Read error: Connection reset by peer) 19:52:17 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 19:56:36 --- quit: pierpal (Ping timeout: 250 seconds) 19:58:14 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 19:59:52 --- quit: pierpal (Read error: Connection reset by peer) 20:01:31 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 20:01:34 zy]x[yz, I'm planning on using comma "," as an operator to align multiple functions with their stack operands as a mechanism to hide significant amounts of stack manipulation. So if 'f' needs parameters 1 & 2 and 'g' needs parameters 3 & 4, 1 2 3 4 f , g would automatically consume 1-4 and place the results f(1,2) and g(3,4) onto the stack. 20:02:27 Won't see it used too much but, on such occasions, it significantly reduces stack gymnastics and helps the programmer's mental model stay sane. 20:02:49 I saw this in an online paper that I can't find at the moment but when I do I'll post it. 20:04:27 --- quit: pierpal (Read error: Connection reset by peer) 20:04:29 --- join: `presiden (~presiden@unaffiliated/matematikaadit) joined #forth 20:06:20 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 20:07:01 zy]x[yz, also crc posted a presentation talking about the impact of using fifo's rather than stacks in forth with some interesting results for certain circumstances. I could see having a fifo as a "third stack" possibly. especially when composing helper words designed specifically for concatenation. or perhaps a stack of stack pointers and their functional state (fifo or filo) - but now one wonders if you've just moved the 20:07:01 complexity rather than actually reduced it. 20:08:15 --- quit: proteusguy (Remote host closed the connection) 20:08:39 --- join: proteusguy (~yaaic@cm-58-10-154-54.revip7.asianet.co.th) joined #forth 20:08:39 --- mode: ChanServ set +v proteusguy 20:08:58 I'd start to think "overly complex" 20:16:09 --- join: proteusguy2 (~yaaic@2001:44c8:4522:6fd9:1:0:5ba0:783e) joined #forth 20:16:48 --- join: MrMobius (~default@c-73-134-82-217.hsd1.va.comcast.net) joined #forth 20:17:24 --- quit: proteusguy (Ping timeout: 250 seconds) 20:21:25 --- quit: proteusguy2 (Read error: Connection reset by peer) 20:21:33 --- join: proteusguy (~yaaic@cm-114-109-129-168.revip13.asianet.co.th) joined #forth 20:21:33 --- mode: ChanServ set +v proteusguy 20:22:36 --- join: rdrop-exit (~markwilli@112.201.166.158) joined #forth 20:29:31 I don't think it's a good idea to try to hide stack motion. A forth programmer should keep his finger on the pulse so to speak. 20:34:31 I'd submit that: 1) if it's that complex, something is wrong; 2) allocate an array somewhere - even a stack-frame, if you must.. But, #1 is usually right. 20:36:01 rdrop-exit I don't want to hide it, but there are certain common patterns that produce the same boiler plate that I'd like to cancel out in order to reduce human error and allow the developer to focus on the mental model of the work. This is a lot of the reason for the radical levels of refactoring into tiny words that good forth code has. 20:37:30 It sounds like you're trying to hide it, did I misunderstand? 20:38:49 The presence of the stack, as a point free language, needs to always be in the mind of the developer - but some operations that are simple in one's mind require stack manipulation that is more complex than the problem due to the inherent limitations of stacks. I prefer "smart safe stack action" over local variables if that's my choice. 20:39:45 rdrop-exit, how is that hiding it? You still must align your stack operands in the right order and depth for the comma aligned words to consume them. 20:41:26 --- quit: MrMobius (Read error: Connection reset by peer) 20:43:38 Maybe I'm not understanding your scheme then. 20:44:24 It's not just that the presence of the stack must be kept in mind. 20:44:41 When I find the paper I'll post it. 20:45:44 I'm typing on my mobile device. "the presence and its current relevant state for the acting Word" if that helps you. 20:50:02 --- join: gravicappa (~gravicapp@h109-187-251-146.dyn.bashtel.ru) joined #forth 20:56:39 thanks. i thought about the "third stack/fifo" option, but also came to the conclusion that it was getting needlessly complex at that point 20:58:37 zy]x[yz yeah TANSTAAFL! But I find working through these kinds of exercises I fo 20:59:48 ... exercises informs me more about when my problem is irreducible vs just the wrong abstraction so at least I can proceed with the knowledge that I am using the most optimal option possible. 21:01:09 --- quit: pierpal (Quit: Poof) 21:01:30 --- join: pierpal (~pierpal@host53-189-dynamic.17-79-r.retail.telecomitalia.it) joined #forth 21:02:21 * proteusguy considers six I 21:02:55 * proteusguy considers six improbable things each day before breakfast. 😎 21:21:07 I'm curious - of all the forth implementations we have floating around here, how well do they perform relative to each other? I'd like to define a set of problems and have implementations for different fourths and see how it goes. In this case we'd have to identify a target platform (or 3). For now I'm just curious about something that would run under a 64bit Linux environment. (can be any size forth) 21:22:31 My purpose for this is to see if there's a consistent performance benefit for one threading style over another and also to see how much better a more complex forth performs than one whose implementation is meant to be as simple as possible. How much of that complexity pays off vs is just yak shaving. 21:22:56 Anyone interested in participating? 21:28:15 --- quit: Kumool (Quit: EXIT) 21:30:23 --- quit: proteusguy (Ping timeout: 268 seconds) 21:31:13 --- join: proteusguy (~yaaic@mx-ll-180.183.135-187.dynamic.3bb.co.th) joined #forth 21:31:13 --- mode: ChanServ set +v proteusguy 21:31:47 --- quit: proteusguy (Read error: Connection reset by peer) 21:32:43 --- join: proteusguy (~yaaic@mx-ll-180.183.135-187.dynamic.3bb.co.th) joined #forth 21:32:44 --- mode: ChanServ set +v proteusguy 21:33:13 hmm, yak-shaving sounds like it should be a sport. 21:33:26 --- join: proteus-guy (~proteus-b@mx-ll-180.183.135-187.dynamic.3bb.co.th) joined #forth 21:34:05 there is no point to a "complex forth" - might as well just use C, or suffer C++. 21:35:34 PoppaVic, naturally depends on one's definition of "complex". Is a cross-compiler forth that compiles to 100% executable binaries "complex"? 21:39:24 My only interest in Unix is as a cross-development environment, it's all yak shaving to me. 21:39:39 rdrop-exit, all your targets are embedded? 21:39:47 yes 21:42:00 rdrop-exit, true of almost all my forth work as well. But now I'm trying to see about if it's possible to bring a "forth-ish" language to the masses on a practical level. Having the language assist in enforcing some of the developer's mental model is one of the big themes of this effort but I don't want to lose the ability to target these embedded systems (in fact they're a key target platform). So a strong typing system 21:42:00 enforced by the language is the first major change. 21:42:13 If I were to write a Unix application, I'd fall back on C. 21:43:49 I might prototype it on a Forth, but I'd deploy C. 21:43:56 rdrop-exit, primarily I use python and C++ for my big system development. Need a new concurrency model, however, that fits better with the new trend in hardware and doesn't presume a VonNeumen architecture. 21:44:30 rdrop-exit, why would you prototype in forth then throw it away for C? At the very least have your forth generate the C code (which has been done quite well in the past). 21:46:39 To make the sell the codebase in an acquisition. 21:46:51 to make it easier 21:47:05 Let me retype that: 21:47:19 To make it easier to sell the codebase in an acquisition 21:47:38 C is the lingua-franca of the Unix world 21:48:28 rdrop-exit, understand that. Did you ever see the forth environment where the guy had it generate quite human readable C code? 21:49:03 No, but I don't mind throwing away a prototype 21:51:55 damn I can't find the link now... it was really well done. quite clean. 21:53:18 Anyway, it's kind of besides the point, as I'm unlikely to produce any Unix product in the future. 21:54:21 --- quit: dddddd (Remote host closed the connection) 21:55:10 I'm retired, any future products will be because I feel like it. 21:55:17 :) 21:55:30 --- quit: smokeink (Remote host closed the connection) 21:58:45 proteus-guy: if you ever find it, I'd like to see. But, yeah: first run is usually ditched for the 2nd... or Nth 22:00:11 --- join: smokeink (~smokeink@118.131.144.142) joined #forth 22:00:49 bbiab 22:00:57 Found it! Alas the original server seems broken. So much good forth stuff disappearing that way.... 22:00:59 https://web.archive.org/web/20120126021510/http://clubweb.interbaun.com/~rc/Timbre/ 22:01:40 yeah, dead sites and disappearing sources just suck. 22:02:02 ahh, I remember Timbre 22:04:33 damn even on archive.org several of the links seem dead. he had a great article about how he was required to write an app in C and that drove timbre and ended up working great. 22:05:14 yeah, I remember seeing it yearsback, getting interested, and on reading I just concluded "too complicated" (aka "too much like Work:) 22:07:49 Same here 22:22:46 rdrop-exit: Which brewery did you say you lived next to again? :D 22:22:52 Too complicated? Look at this: https://web.archive.org/web/20120126021423/http://clubweb.interbaun.com/~rc/Papers/cwoc.pdf 22:23:16 Context: I live next door to the HQ of the oldest brewery in Asia 22:24:24 San Miguel 22:24:30 --- quit: darithorn (Quit: Leaving) 22:26:31 proteus-guy: nice 22:26:50 https://en.wikipedia.org/wiki/San_Miguel_Corporation 22:31:11 --- quit: smokeink (Remote host closed the connection) 22:31:35 --- join: smokeink (~smokeink@42-200-116-86.static.imsbiz.com) joined #forth 22:37:02 Gotta go, catch you all later. Keep on Forthin' 22:37:18 --- quit: rdrop-exit (Quit: Lost terminal) 22:38:58 proteus-guy: the forth-> C framework was not archived, if you ever find it somewhere else please share the link with me 22:42:30 --- quit: moony (*.net *.split) 22:42:30 --- quit: corecode (*.net *.split) 22:42:40 --- join: corecode (~2@2a01:4f8:190:53f3::2c) joined #forth 22:43:22 You mean the zip file archive of the code, smokeink ? 22:43:42 --- join: moony (moony@hellomouse/dev/moony) joined #forth 22:47:16 https://web.archive.org/web/20120126021510/http://clubweb.interbaun.com/~rc/Timbre/ "Forth to C - framework for generating C code from Forth code, removing the VFM (virtual Forth machine), and produce quality C code." <- is this included in the sourcecode archive? 22:48:46 in the sourcode archive, in the Frameworks subdir I can only see "char parsing framework " and "Word Parse Framework", so I think it's possible that the Forth->C framework is missing 22:54:05 Looks like someone already did the benchmark tests for me a while back... I'll try to recreate. http://www.complang.tuwien.ac.at/forth/performance.html 22:54:39 Are you looking for the code or the paper about it, smokeink ? 22:54:54 --- quit: proteusguy (Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org) 22:55:02 --- nick: proteus-guy -> proteusguy 22:55:11 --- mode: ChanServ set +v proteusguy 23:00:20 proteus-guy: just the code. I think it actually is there, in the archive V.14/Scripts/ForthtoC/ . I thought it needs a separate description(framework) which tells it how to translate forth words to C code 23:01:19 since the link to "Forth to C - framework for generating C code" is dead, I can only hope it's all there in the sourcecode archive 23:03:32 Here's a link to a version from 1995 described in the paper: http://www.complang.tuwien.ac.at/forth/forth2c.tar.gz 23:04:35 I have an archived file that looks like it was prepared Feb 2nd, 2008 that says V.14.zip that I can email you if you like. 23:05:50 Anton Ertl's and Martin Maierhofer's Forth2C: http://mips.complang.tuwien.ac.at/papers/ertl&maierhofer95.ps.gz http://mips.complang.tuwien.ac.at/forth/forth2c.tar.gz 23:06:08 I could get V.14.zip from archive.org 23:16:23 http://www.almy.us/forthcmp.html 23:28:12 https://github.com/ksanaforge/forthtranspiler 23:29:31 begone vile js/jaba shit! 23:59:59 --- log: ended forth/19.01.20