00:00:00 --- log: started forth/18.11.22 00:21:25 --- quit: rdrop-exit (Quit: Lost terminal) 00:37:30 --- join: dys (~dys@tmo-102-134.customers.d1-online.com) joined #forth 00:43:17 --- join: xek (~xek@apn-37-248-138-80.dynamic.gprs.plus.pl) joined #forth 01:06:04 --- join: john_cephalopoda (~john@unaffiliated/john-cephalopoda/x-6407167) joined #forth 01:35:28 --- join: rdrop-exit (~markwilli@112.201.164.82) joined #forth 02:03:18 --- quit: ashirase (Ping timeout: 276 seconds) 02:07:06 --- join: ashirase (~ashirase@modemcable098.166-22-96.mc.videotron.ca) joined #forth 02:14:56 --- quit: john_cephalopoda (Quit: Trees can see into your soul. They lurk everywhere.) 02:16:04 --- join: john_cephalopoda (~john@unaffiliated/john-cephalopoda/x-6407167) joined #forth 02:25:04 --- join: dave0 (~dave0@47.44-27-211.dynamic.dsl.syd.iprimus.net.au) joined #forth 02:26:07 hi 02:29:08 Hi Dave 02:31:25 Hey Dave 02:33:53 hi rdrop-exit, john_cephalopoda 02:34:10 i'm just wasting time on youtube :-) 02:34:36 Same here actually :) 02:34:48 it's bloody addictive! 02:35:00 I'm wasting time playing ukulele :þ 02:35:26 Youtube and reddit are major time suckers 02:35:36 Cool John 02:36:14 Luckily I don't Facebook anymore 02:46:38 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 02:54:50 --- quit: X-Scale (Ping timeout: 246 seconds) 02:55:59 --- join: [X-Scale] (~ARM@18.255.137.78.rev.vodafone.pt) joined #forth 02:56:33 --- nick: [X-Scale] -> X-Scale 03:19:29 --- quit: proteusguy (Ping timeout: 268 seconds) 03:20:52 --- join: proteusguy (~proteus-g@184.82.233.251) joined #forth 03:20:52 --- mode: ChanServ set +v proteusguy 03:38:21 --- quit: smokeink (Remote host closed the connection) 03:49:57 --- quit: proteusguy (Remote host closed the connection) 04:53:39 --- quit: wa5qjh (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 04:56:35 --- quit: dave0 (Quit: dave's not here) 04:57:31 --- quit: rdrop-exit (Quit: Lost terminal) 05:13:29 --- quit: pierpal (Quit: Poof) 05:13:50 --- join: pierpal (~pierpal@95.239.223.85) joined #forth 05:22:21 --- join: [1]MrMobius (~default@c-73-134-82-217.hsd1.va.comcast.net) joined #forth 05:25:25 --- quit: MrMobius (Ping timeout: 245 seconds) 05:25:25 --- nick: [1]MrMobius -> MrMobius 05:25:59 --- join: ncv (~neceve@unaffiliated/neceve) joined #forth 05:47:23 --- quit: gravicappa (Ping timeout: 246 seconds) 05:49:25 --- quit: jedb (Remote host closed the connection) 05:49:39 --- join: jedb (~jedb@162.219.176.251) joined #forth 05:55:36 --- join: [X-Scale] (~ARM@18.255.137.78.rev.vodafone.pt) joined #forth 05:56:22 --- quit: X-Scale (Ping timeout: 252 seconds) 05:56:39 --- nick: [X-Scale] -> X-Scale 06:36:39 --- join: gravicappa (~gravicapp@ppp83-237-163-149.pppoe.mtu-net.ru) joined #forth 06:51:26 --- quit: rpcope (Ping timeout: 246 seconds) 07:36:55 --- quit: gravicappa (Ping timeout: 244 seconds) 08:11:27 --- quit: groovy2shoes (Quit: moritura te salutat) 08:15:48 --- quit: pierpal (Quit: Poof) 08:16:08 --- join: pierpal (~pierpal@95.239.223.85) joined #forth 08:19:41 --- join: groovy2shoes (~groovy2sh@unaffiliated/groovebot) joined #forth 09:09:25 * Zarutian mutters something about making timing diagrams in ASCII 09:09:47 Zarutian: Or in Sixels? ;) 09:10:10 nope, part of an avr assembler file as comment 10:21:22 --- quit: pierpal (Ping timeout: 252 seconds) 10:22:52 --- join: pierpal (~pierpal@95.239.223.85) joined #forth 10:34:12 --- quit: pierpal (Read error: Connection reset by peer) 10:43:03 --- join: pierpal (~pierpal@95.239.223.85) joined #forth 10:50:24 --- quit: pierpal (Ping timeout: 250 seconds) 10:54:50 --- join: [1]MrMobius (~default@c-73-134-82-217.hsd1.va.comcast.net) joined #forth 10:57:46 --- quit: MrMobius (Ping timeout: 252 seconds) 10:57:47 --- nick: [1]MrMobius -> MrMobius 11:11:04 --- join: pierpal (~pierpal@95.239.223.85) joined #forth 11:12:56 --- quit: pierpal (Read error: Connection reset by peer) 11:13:23 --- join: pierpal (~pierpal@95.239.223.85) joined #forth 11:17:07 --- quit: pierpal (Read error: Connection reset by peer) 11:17:19 --- join: pierpal (~pierpal@95.239.223.85) joined #forth 11:20:55 --- join: rpcope (~GOTZNC@muon.copesystems.com) joined #forth 11:22:04 --- quit: pierpal (Read error: Connection reset by peer) 11:32:00 --- quit: rpcope (Ping timeout: 244 seconds) 11:33:18 --- join: pierpal (~pierpal@95.239.223.85) joined #forth 11:42:06 --- join: rpcope (~GOTZNC@muon.copesystems.com) joined #forth 12:04:44 --- quit: dys (Ping timeout: 252 seconds) 12:06:17 --- join: dys (~dys@tmo-114-79.customers.d1-online.com) joined #forth 12:14:59 I'm disappointed that my math functions don't give the same results as the standard libm ones 12:15:51 tabemann: Is it a public repo? 12:16:05 it's on github 12:17:25 http://github.com/tabemann/attoforth 12:17:30 --- quit: pierpal (Ping timeout: 250 seconds) 12:17:40 Thank You. 12:19:28 I assume it's because libm is using hardware math functions, which are internally using extended precision 12:19:52 --- join: pierpal (~pierpal@95.239.223.85) joined #forth 12:24:19 the relevant code is in src/forth/math.fs 12:24:27 --- quit: pierpal (Read error: Connection reset by peer) 12:32:02 --- quit: ncv (Remote host closed the connection) 12:56:24 --- join: gravicappa (~gravicapp@ppp83-237-163-149.pppoe.mtu-net.ru) joined #forth 13:00:50 --- quit: gravicappa (Remote host closed the connection) 13:01:10 --- join: gravicappa (~gravicapp@ppp83-237-163-149.pppoe.mtu-net.ru) joined #forth 13:09:11 tabemann: Looks nice. 13:09:53 some aspects aren't to some's liking, as it is a preemptive multitasking forth rather than a cooperative one 13:10:22 it's also a "big system" forth, despite the name; it's originally written for 64-bit systems, with porting to 32-bit systems in mind 13:10:56 it's meant to run under an operating system, and aspects would have to be rewritten to work on bare metal 13:12:00 also, it's indirect threaded, mainly for portability's sake (so I would not have to rewrite the compiler for porting from x86-64 to x86, ARM, and ARM64) 13:12:31 Some day I'll write a Forth to run on bare metal. But right now I am mostly writing utility stuff for ANS(-y) Forth. 13:13:14 my Forth tends to approximate Forth 2012, with both areas that aren't implemented and areas where it goes beyond what Forth 2012 specifies 13:15:07 (indirect threading also greatly simplified writing code in Forth that controls the compilation process directly, because there is no need to encode values as instructions but rather cells can just be written to memory freely) 13:32:48 --- quit: moony (Quit: Bye!) 13:33:06 http://boston.conman.org/2018/11/21.1 13:33:16 Forth is a message-oriented programming language now 13:33:22 --- join: moony (moony@unaffiliated/moonythedwarf) joined #forth 13:34:15 --- quit: moony (Excess Flood) 13:34:37 --- join: moony (moony@unaffiliated/moonythedwarf) joined #forth 13:35:12 WilhelmVonWeiner: Does a functional extension to Forth exist yet? ;þ 13:35:30 personally Forth is a model functional language 13:46:03 I made an addition to forth in my forth to support lambdas 13:46:17 both ones that do not enclose values and ones that do enclose values 13:46:17 like :NONAME? 13:46:22 oh wow 13:46:28 like ones you can nest in other functions 13:47:04 [: ;] for ones that do not enclose values and ( x*u u -- ) <: ;> for ones that do 13:47:28 the only thing is that without garbage collection you have to free the ones that enclose values yourself 13:47:40 whereas the ones that do not enclose values need not be freed 13:48:52 looking at your source now, a lot of primitives huh 13:50:56 some of the primitives are because I need a working forth interpreter written in C so I can compile the forth code that makes up much of what the user actually sees 13:51:10 but yeah, I didn't see the need to go totally minimalist when it comes to primitives 13:51:19 understandable 13:52:31 much of the actual interpreter the user sees is in src/runtime/builtin.c, which is essentially a big block of code written in Forth encapsulated in a C string 13:53:05 it has to be that way because the bootstrap interpreter has no way of loading files containing Forth code 13:53:27 so I have to build that in Forth code embedded within the C interpreter 13:55:18 even then it has no way of handling input from the user, so init.fs actually builds the user input handling code (to provide a nice readline-style interface) 13:57:54 lambda.fs provides lambdas (obviously), math.fs provides floating-point math functions which are not primitives, profile.fs provides a profiler, trace.fs provides a basic tracer for when the global tracer (which requires recompilation to activate) is a bit much, and dev_tools.fs provides a word lister and a decompiler 14:02:52 right now I'm trying to debug why it crashes when I attempt to use profile.fs and trace.fs simultaneously 14:06:59 --- quit: gravicappa (Ping timeout: 268 seconds) 14:07:04 --- join: xek_ (~xek@apn-37-248-138-85.dynamic.gprs.plus.pl) joined #forth 14:08:06 okay, my daughter wants to play (she's done cooking with her grandma), so I'm off 14:08:18 peace 14:09:50 --- quit: xek (Ping timeout: 272 seconds) 14:25:39 --- join: xek__ (~xek@apn-37-248-138-80.dynamic.gprs.plus.pl) joined #forth 14:27:55 --- quit: xek_ (Ping timeout: 245 seconds) 14:47:10 --- join: wa5qjh (~quassel@175.158.225.197) joined #forth 14:47:10 --- quit: wa5qjh (Changing host) 14:47:10 --- join: wa5qjh (~quassel@freebsd/user/wa5qjh) joined #forth 14:55:23 tell her to get a job 14:57:06 --- quit: moony (Quit: Bye!) 14:57:24 --- join: moony (moony@unaffiliated/moonythedwarf) joined #forth 15:36:33 :-) 15:43:01 --- join: dave0 (~dave0@47.44-27-211.dynamic.dsl.syd.iprimus.net.au) joined #forth 15:43:20 hi 15:43:42 lo 15:43:53 hi DKordic 15:44:01 sup? 15:44:24 nothin, just got up :-) 15:44:37 coffee C4[_]~ C8[_]~ C3[_]~ C2[_]~ 15:44:41 DKordic: you? 15:45:07 Trying to make a 3IF for AVR :) . 15:46:31 what's a 3if ? 15:52:01 http://utoh.org/3ins4th.html 15:53:05 wow 15:53:10 3-instruction-forth 16:15:20 --- join: TheCephalopod (~john@unaffiliated/john-cephalopoda/x-6407167) joined #forth 16:19:08 --- quit: john_cephalopoda (Ping timeout: 246 seconds) 16:44:17 --- quit: dave0 (Quit: dave's not here) 17:49:40 TheCephalopod: Joy 17:50:11 that's the functional version of Forth 19:08:08 --- quit: dddddd (Remote host closed the connection) 19:08:36 --- join: dave0 (~dave0@47.44-27-211.dynamic.dsl.syd.iprimus.net.au) joined #forth 19:08:44 re 20:43:58 --- join: reepca (~user@208.89.170.250) joined #forth 21:25:26 hey guys 21:28:03 hi tabemann 21:36:16 finally 21:36:23 got nesting tracing and profiling to work 21:38:16 well, actually, I only discovered later that I'd broken profiling in general, and it really wasn't the nesting that was the issue 21:38:44 does it time the instructions? 21:39:33 i did a simple profiling which just counted the number of times each word was called 21:40:54 i put an extra cell in the dictionary entry and did an inc at the start of each word.. nothing fancy 21:41:38 currently the profiler just counts the word executions 21:41:56 ah yep 21:42:14 useful info to have 21:42:19 I actually add a few cells that are embedded within the body of the word, and which the word branches around 21:42:29 note that this is implemented purely in Forth 21:42:45 cool! 21:43:15 yeah, one advantage of indirect threading is it allows you to trivially do interesting things with compilation 21:44:23 what were your results? what were "hot" words? 21:44:55 well I haven't really profiled anything non-trivial with it, just math routines 21:45:17 i wrote my loops like REPEAT dup 0> WHILE ... REPEAT so 0> came up lots 21:45:47 tabemann: did you do the mandelbrot program in forth? 21:46:01 oh, my profiler only profiles things that are compiled after it is run and enabled 21:46:19 so it doesn't profile primitives 21:46:29 or even builtins 21:46:33 ah okay 21:47:00 no, I haven't run the mandlebrot program with attoforth yet 21:53:01 just ran my profiler against "see" 22:29:29 --- join: gravicappa (~gravicapp@ppp83-237-175-130.pppoe.mtu-net.ru) joined #forth 23:59:59 --- log: ended forth/18.11.22