00:00:00 --- log: started forth/20.05.16 00:03:26 --- quit: WickedShell (Remote host closed the connection) 00:59:23 --- quit: dave0 (Ping timeout: 264 seconds) 00:59:24 --- quit: dave9 (Ping timeout: 256 seconds) 01:00:27 --- join: dave0 joined #forth 01:10:26 --- join: dave9 joined #forth 01:13:09 --- quit: proteus-guy (Ping timeout: 240 seconds) 01:31:21 --- join: TCZ joined #forth 02:03:55 --- quit: deesix (Ping timeout: 265 seconds) 02:04:26 --- join: deesix joined #forth 02:08:44 --- join: xek__ joined #forth 02:20:14 --- quit: TCZ (Quit: Leaving) 02:41:45 --- join: Labu joined #forth 02:59:11 --- join: TCZ joined #forth 03:05:49 --- quit: Zarutian_HTC (Ping timeout: 260 seconds) 03:45:56 --- quit: xek__ (Ping timeout: 256 seconds) 04:13:09 --- join: dddddd joined #forth 04:48:12 --- join: dys joined #forth 05:19:11 --- quit: TCZ (Quit: Leaving) 05:29:20 --- quit: dave0 (Quit: dave's not here) 05:48:42 --- join: TCZ joined #forth 06:07:02 --- quit: TCZ (Quit: Leaving) 06:25:21 --- join: X-Scale` joined #forth 06:27:49 --- quit: X-Scale (Ping timeout: 265 seconds) 06:27:49 --- nick: X-Scale` -> X-Scale 06:55:16 --- quit: iyzsong (Quit: ZNC 1.7.1 - https://znc.in) 07:02:14 tp: https://xkcd.com/1343/ https://xkcd.com/688/ . You should say that your Project implements ISO-8601 and XKCD-1343. 07:05:48 Even better XKCD-1305! 07:20:52 --- nick: reepca` -> reepca 07:31:15 --- join: john_cephalopoda joined #forth 07:31:20 Hi 07:32:43 --- join: proteus-guy joined #forth 07:36:56 --- join: TCZ joined #forth 07:40:07 Hi john_cephalopoda. sup? 08:02:44 Not much. Started to write an OS in a Forth dialect but then didn't know in which direction to take it. 08:16:24 --- quit: dddddd (Remote host closed the connection) 08:18:32 --- join: xek__ joined #forth 08:36:02 --- quit: jsoft (Ping timeout: 272 seconds) 09:12:22 --- join: Zarutian_HTC joined #forth 09:19:05 has anyone implemented quotations and combinators in mecrisp (stellaris)? 09:19:35 i have some words that really hard to read because they consist mostly of stack jugglers 09:24:01 nvm 09:34:19 --- join: jsoft joined #forth 09:50:04 --- quit: TCZ (Quit: Leaving) 10:40:29 crest: What is ""combinator""? 10:40:51 DKordic: a word acting on quotations 10:41:36 something like 100 [: dup . 1+ ;] 10 times 10:42:35 its its very common some concatenative languages like factor and joy 10:44:24 --- quit: proteus-guy (Ping timeout: 244 seconds) 10:46:56 crest: W:SKI_combinator_calculus ? 10:47:28 you can transform them to ski, but iirc it increases the code size by about n^2 10:48:11 it has to at least ten years since i read the lamba -> ski compilation paper 10:48:47 a quotation is an anonymous function 10:48:56 and combinators are just higher order functions 10:49:10 at least in factor and joy 10:50:17 but by keeping the language concatenative some things become simpler 10:50:51 How to implement S and K? 10:51:02 e.g. currying is the equivalent to prepending a to the quotation 11:32:19 --- quit: dys (Ping timeout: 265 seconds) 12:27:24 --- quit: reepca (Read error: Connection reset by peer) 12:27:51 --- join: reepca joined #forth 12:32:02 --- join: dddddd joined #forth 12:35:59 --- quit: reepca (Ping timeout: 264 seconds) 13:09:30 --- join: reepca joined #forth 13:46:49 --- quit: john_cephalopoda (Quit: Leaving) 15:04:12 --- join: dys joined #forth 15:06:52 --- quit: jsoft (Ping timeout: 258 seconds) 15:43:18 hey guys 15:43:52 I've implemented quotations (which I call lambdas) and combinators in zeptoforth 15:56:19 --- quit: pareidolia (Ping timeout: 258 seconds) 15:59:06 --- join: pareidolia joined #forth 16:54:17 --- join: dave0 joined #forth 17:05:14 --- quit: xek__ (Ping timeout: 272 seconds) 17:06:27 --- quit: Labu (Quit: Leaving.) 17:19:39 --- quit: jn__ (Remote host closed the connection) 17:20:37 --- join: jn__ joined #forth 17:35:15 --- join: rdrop-exit joined #forth 17:49:57 hey 17:50:32 hello tabemann c[] 17:59:40 * tabemann is working on the disassembler to make its output more gas-friendly when used in for-gas mode 18:00:51 cool 18:01:06 never cared for gas personally 18:02:48 well this is mostly so the user can have assembler-friendly code that they can feed into an assembler 18:03:01 by "gas" I mean the standard ARM assembly syntax 18:03:39 note that there's also a (default) user-friendly mode that generates assembly that would be, well, user-friendly 18:03:44 --- join: iyzsong joined #forth 18:04:08 --- join: boru` joined #forth 18:04:11 --- quit: boru (Disconnected by services) 18:04:14 --- nick: boru` -> boru 18:04:31 your assembler isn't RPN? 18:06:29 your gas mode is so that they can cut and paste into an external assembler? 18:07:35 cool 18:07:43 --- join: TCZ joined #forth 18:11:10 back 18:11:16 wb 18:12:11 I don't have a built-in assembler; rather my disassembler syntax is based off of ARM syntax, with some modifications 18:12:29 the "gas" mode eliminates those modifications and makes it entirely standard 18:12:52 e.g. it eliminates addresses and raw instruction data for each instruction 18:13:31 and in some places where I treat a PC-relative address like it were absolute instead I explicitly treat as PC-relative 18:13:52 I see 18:13:52 it also modifies label names so they're assembler_friendly 18:14:05 like it turns */ into star_slash 18:15:07 another thing is that "gas" mode never truncates label names, whereas in non-"gas" mode labels over 20 characters for individual lines are truncated to 20 characters 18:17:44 I usually don't worry about external assemblers 18:20:44 well the kernel of zeptoforth is written in gas assembly 18:23:03 at some point you'll probably want to give zeptoforth its own assembler 18:24:31 I wonder how large such an assembler would be 18:24:58 the disassembler for zeptoforth is 20K, but that's because I aggressively optimized it and excluded instructions not used by zeptoforth 18:25:00 hi all! 18:25:04 hey tp! 18:25:13 depends on how regular the target's ISA is 18:25:19 hi tp! 18:25:33 tabemann, I like your work with the gas friendly output, Zeptoforth is becoming interesting to me 18:25:49 Thumb-2 is awfully big for something meant to be small 18:26:02 tabemann, I'm still working on the bit@ page, it's my current project 18:26:03 tp: I'm doing more work on the gas friendly output 18:26:19 tabemann, awesome 18:26:33 namely I've made it so that */ is converted to star_slash 18:26:56 and assembler-main is converted to assembler_main 18:26:56 tabemann I like your explicit PC-relative treatment, youre reading my mind! 18:27:19 hey rdrop-exit, how goes the local lockdown ? 18:27:39 the only part I wonder about whether I should have it is adding labels inside words like 1:, 2:, 3:, etc. 18:27:40 good, extended again I think 18:27:52 the problem is that would make it substantially more complex 18:28:18 tabemann, I like those relative labels from my previous gas work 18:28:57 tabemann, I mean it's nice to be able to create some binary from Forth that will compile in gas for the odd test or usage 18:30:21 tabemann, I'll either have to patch Mecrisp-Stellaris to generate gas friendly output or transform it with xml I guess 18:31:01 tabemann, I've been doing the mods by hand and then feeding into apps like RA2 etc 18:31:28 now that I think about it, I think I know how I'd implement relative labels 18:31:33 does Mecrisp-Stellaris have an assembler? 18:32:38 rdrop-exit, sure 18:32:43 I've got a question: how many labels do you think I should support per disassembly? 18:33:09 tabemann, excellent question, I dont have an answer 18:33:27 I think 64 would probably be sufficient 18:33:57 tabemann, I think it would! 18:33:58 tp, does it use gas syntax or RPN? 18:34:10 rdrop-exit, neither 18:34:50 ok, thanks 18:36:48 rdrop-exit, it's similar to GAS but not 100% compatible 18:38:03 I see 18:45:08 tabemann, my aim so far has been to use Forth to write test code which I then test on the mcu, then dissasemble and check out, and finally plug into the Mecrisp-Stellaris kernel itself 18:45:41 tabemann, thats a easy way when porting to another model and altering the terminal.s and so on 18:46:22 unlike the usual gas assembly where if *anything* is wrong, one gets nada by way of feedback 18:46:44 that's definitely nicer than just writing straight assembly 18:47:03 * tabemann is working on 1: / 2: / 3: / etc. labels right now 18:48:33 tabemann, absolutely, and if you have that mechanism in place users may find porting that much easier, which will mean less emails pleading for your time to do really simple stuff 18:50:37 --- quit: iyzsong (Quit: ZNC 1.7.1 - https://znc.in) 18:58:15 --- join: iyzsong joined #forth 18:58:47 bbia 18:58:50 bbiab 19:30:49 --- quit: cheater (Ping timeout: 265 seconds) 19:32:48 --- quit: TCZ (Quit: Leaving) 19:36:39 --- join: Zarutian_HTC| joined #forth 19:36:39 --- quit: Zarutian_HTC (Read error: Connection reset by peer) 19:43:52 --- join: cheater joined #forth 20:34:02 --- quit: Zarutian_HTC| (Ping timeout: 256 seconds) 20:36:02 --- join: proteus-guy joined #forth 20:48:11 --- join: Zarutian_HTC joined #forth 21:08:02 --- quit: dddddd (Ping timeout: 256 seconds) 21:21:23 --- quit: _whitelogger (Remote host closed the connection) 21:24:26 --- join: _whitelogger joined #forth 21:41:07 --- quit: iyzsong (Read error: Connection reset by peer) 21:43:41 --- join: iyzsong joined #forth 21:55:33 --- quit: proteus-guy (Ping timeout: 244 seconds) 22:11:10 --- join: proteus-guy joined #forth 22:25:56 --- quit: rdrop-exit (Read error: Connection reset by peer) 22:49:04 --- quit: proteus-guy (Remote host closed the connection) 22:59:02 --- quit: iyzsong (Quit: ZNC 1.7.1 - https://znc.in) 22:59:36 --- join: iyzsong joined #forth 23:27:24 --- quit: _whitelogger (Remote host closed the connection) 23:30:27 --- join: _whitelogger joined #forth 23:34:25 --- quit: dys (Ping timeout: 265 seconds) 23:59:59 --- log: ended forth/20.05.16