00:00:00 --- log: started forth/21.05.09 00:12:55 --- join: andrei-n joined #forth 02:31:48 --- join: tech_exorcist joined #forth 03:28:28 --- quit: cheater2 (Ping timeout: 240 seconds) 03:59:01 --- join: cheater2 joined #forth 04:05:37 --- quit: Zarutian_HTC (Remote host closed the connection) 04:38:04 I find this to be a very interesting article: 04:38:06 https://swtch.com/~rsc/regexp/regexp1.html 04:38:21 Good morning, folks. 04:40:31 I read that years ago, and dug it out this morning because my memory banks told me it was in the same neighborhood with this numeric formatting / byte code processing. Not a precise match, but some of the same ideas. 04:50:06 Anyway, I just feel pretty strongly that there's something to be gained by having a solid, tight implementation of regex methods in the system. Not sure exactly how it fits yet. 04:59:07 --- quit: dave0 (Quit: dave's not here) 05:45:34 --- quit: tech_exorcist (Remote host closed the connection) 05:45:53 --- join: tech_exorcist joined #forth 05:57:19 --- quit: tech_exorcist (Remote host closed the connection) 05:58:02 --- join: tech_exorcist joined #forth 09:20:22 Very interesting stuff in that article on "multi-threaded VMs." 09:21:25 It discusses implementing regex handlers as non-determinate and determinate finite automata, and it seems very likely to me that a setup for converting a regex directly into a Forth NFA or DFA could be worked up. 09:22:10 Regex in, definition out. Start it up and give it an array for storing thread states and let it rip. 09:27:06 I think what you do is basically launch a thread in the start stte for each character, then all those threads operate in lockstep as the new characters come in. 09:27:23 One will succeed in reaching the match state or not. 09:28:23 Along the way you can store in the state what substring of the text matches each parenthesized expression in the regex. 10:29:57 --- quit: tech_exorcist (Ping timeout: 268 seconds) 10:33:15 --- quit: Vedran (Read error: Connection reset by peer) 10:34:04 --- join: Vedran joined #forth 10:54:24 --- join: LispSporks joined #forth 11:23:34 --- quit: spoofer (Ping timeout: 240 seconds) 11:59:36 --- quit: LispSporks (Quit: My MacBook has gone to sleep. ZZZzzz…) 12:01:54 --- quit: gravicappa (Ping timeout: 240 seconds) 12:15:16 --- join: tech_exorcist joined #forth 12:23:40 --- part: kiedtl left #forth 12:26:02 --- join: neuro_sys joined #forth 13:10:32 --- join: spoofer joined #forth 13:11:45 --- join: zolk3ri joined #forth 13:44:12 --- quit: andrei-n (Quit: Leaving) 14:14:55 --- quit: neuro_sys (Remote host closed the connection) 15:05:36 --- quit: tech_exorcist (Ping timeout: 268 seconds) 15:33:25 --- join: LispSporks joined #forth 16:10:49 --- quit: LispSporks (Quit: My MacBook has gone to sleep. ZZZzzz…) 18:44:11 --- join: boru` joined #forth 18:44:14 --- quit: boru (Disconnected by services) 18:44:16 --- nick: boru` -> boru 19:28:55 --- quit: sts-q (Ping timeout: 268 seconds) 19:35:32 --- join: LispSporks joined #forth 19:35:34 --- join: sts-q joined #forth 19:45:05 --- quit: LispSporks (Quit: My MacBook has gone to sleep. ZZZzzz…) 19:54:18 --- join: LispSporks joined #forth 20:04:56 --- quit: LispSporks (Ping timeout: 245 seconds) 20:29:35 --- join: dave0 joined #forth 20:34:14 --- join: gravicappa joined #forth 21:44:36 --- join: andrei-n joined #forth 21:58:25 --- join: LispSporks joined #forth 22:10:31 --- quit: LispSporks (Quit: My MacBook has gone to sleep. ZZZzzz…) 22:28:28 --- quit: spoofer (Ping timeout: 240 seconds) 22:30:24 --- join: spoofer joined #forth 23:31:17 --- join: mtsd joined #forth 23:43:28 --- quit: gravicappa (Ping timeout: 240 seconds) 23:52:26 --- quit: cantstanya (Remote host closed the connection) 23:54:57 --- join: cantstanya joined #forth 23:59:59 --- log: ended forth/21.05.09