00:00:00 --- log: started forth/18.05.31 00:13:48 --- quit: ncv (Ping timeout: 260 seconds) 00:18:56 --- quit: pierpal (Ping timeout: 245 seconds) 00:43:05 --- join: ThirtyOne32nds (~rtmanpage@81.sub-174-204-1.myvzw.com) joined #forth 00:50:45 --- quit: ThirtyOne32nds (Ping timeout: 255 seconds) 01:08:10 --- join: Keshl (~Purple@24.115.185.149.res-cmts.gld.ptd.net) joined #forth 01:08:37 --- quit: mnemnion (Remote host closed the connection) 01:22:55 --- join: pierpal (~pierpal@host23-9-dynamic.16-87-r.retail.telecomitalia.it) joined #forth 01:25:31 --- quit: pierpal (Read error: Connection reset by peer) 01:27:50 --- join: pierpal (~pierpal@host23-9-dynamic.16-87-r.retail.telecomitalia.it) joined #forth 01:34:23 --- quit: pierpal (Ping timeout: 244 seconds) 02:06:35 --- join: pierpal (~pierpal@host23-9-dynamic.16-87-r.retail.telecomitalia.it) joined #forth 02:56:40 --- join: ThirtyOne32nds (~rtmanpage@182.sub-174-204-16.myvzw.com) joined #forth 03:06:52 --- quit: pierpal (Ping timeout: 244 seconds) 03:08:56 --- quit: ThirtyOne32nds (Ping timeout: 260 seconds) 03:25:42 --- join: pierpal (~pierpal@host23-9-dynamic.16-87-r.retail.telecomitalia.it) joined #forth 03:49:18 --- quit: pierpal (Quit: Poof) 03:49:53 --- join: pierpal (~pierpal@host23-9-dynamic.16-87-r.retail.telecomitalia.it) joined #forth 04:48:10 --- quit: dave0 (Quit: dave's not here) 05:02:15 --- join: dave0 (~dave@207.213.dsl.syd.iprimus.net.au) joined #forth 05:14:58 --- join: ThirtyOne32nds (~rtmanpage@166.sub-174-204-14.myvzw.com) joined #forth 05:17:11 --- quit: pierpal (Quit: Poof) 05:17:30 --- join: pierpal (~pierpal@host23-9-dynamic.16-87-r.retail.telecomitalia.it) joined #forth 05:36:25 yunfan, from the PFE website: "I hate to rewrite code because of environmental dependencies. The PFE uses autoconf/automake for automatic system detection, and its drivers for system interaction are largely seperated out." 05:36:36 That's under the topic of "Portable." 05:39:19 --- quit: pierpal (Ping timeout: 240 seconds) 05:41:40 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 05:43:00 --- join: pierpal (~pierpal@host23-9-dynamic.16-87-r.retail.telecomitalia.it) joined #forth 06:35:23 --- quit: pierpal (Read error: Connection reset by peer) 06:38:41 hi 06:38:49 how does one make a language decidable? 06:42:20 --- join: TCZ (~Johnny@ip-91.189.219.200.skyware.pl) joined #forth 06:42:29 --- part: TCZ left #forth 06:42:47 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:d8a5:6b83:c246:4922) joined #forth 06:46:51 --- quit: mnemnion (Ping timeout: 245 seconds) 06:49:21 My understanding of decidability is that it means "you will get an answer." How easy that is has a lot to do with the problem you're studying. 06:49:56 A good example is the Mandelbrot set. Points in the set are points that you can start the iteration on and the sequence of values obtained "doesn't diverge." 06:50:27 They've shown that if ANY member of the sequence is outside the circle in the complex plane of radius 2 (centered on the origin), then the sequence WILL diverge. 06:50:48 But many starting points inside that circle still diverge, and there's no way to know how long it will take for that to happen. 06:51:03 So most algorithms for plotting the set set an upper iteration limit. 06:51:42 So they modify the (undecidable) problem of "will this sequence ever diverge?" to the (decidable) problem "Will this sequence leave the radius 2 circle in less than N iterations?" 06:52:02 This really doesn't have anything to do with the language - it has to do with the algorithm implemented. 06:52:36 Any language that permits looping based on a calculated criterion can potentially be "undecidable" in particular problems. 06:53:33 I think a language that didn't support such looping criteria would be a rather poor languge, so in that sense all languages can potentially exhibit undecidable behavior in some cases. 06:53:35 Does that help? 06:55:26 I guess if you wanted to force a language to be decidable you could include a maximum iteration count specification on all looping mechanisms that would otherwise be potentially non-terminating. By *insisting* that such a specification be provided every time you used the loop mechanism, you could then claim the "language itself" was rigorously decidable. 06:56:06 I wouldn't do that, though - I'd just add such extras on a case-by-case basis as needed. 06:57:25 Re: the Mandelbrot set, this means that it's likely that every picture of it you've ever seen show at least some points as "in the set" that actually aren't, in a strict mathematical sense. Those would just be points that take a long, long, long time to leave the radius 2 circle. 07:02:56 --- join: pierpal (~pierpal@host23-9-dynamic.16-87-r.retail.telecomitalia.it) joined #forth 07:06:56 --- quit: pierpal (Ping timeout: 240 seconds) 07:23:55 --- join: pierpal (~pierpal@host23-9-dynamic.16-87-r.retail.telecomitalia.it) joined #forth 07:28:17 --- quit: pierpal (Ping timeout: 244 seconds) 07:36:42 --- join: pierpal (~pierpal@host23-9-dynamic.16-87-r.retail.telecomitalia.it) joined #forth 07:48:22 --- quit: pierpal (Ping timeout: 248 seconds) 09:06:35 web apps in forth 09:06:41 why not more work on thsi front? 09:06:48 wow cop violence videos dpress me 09:07:07 https://www.youtube.com/watch?time_continue=64&v=NkLb-0-L5OA 09:07:14 cosp shoudl have kids n wife thrown in street 09:07:16 Because there's no Forth interpreter in any web browser 09:07:19 and house sold to pay victime 09:07:22 hmmm 09:07:24 good point 09:07:38 forth n cgi or learn happstack.com 09:07:40 hmmm 09:07:45 I dont know what to do 09:07:55 there is also aidaweb.si 09:07:58 gnoga.com 09:08:05 cliki.net/web 09:08:05 hastuur_: here is a thing. I heard cop impersonations had risen dramatically in USA. Are one sure that a 'sheild bearer' is actually a cop? 09:08:22 well video si front his bodycam 09:08:28 n other cops n stuff there so yeah 09:08:33 I hope mega lawsuit 09:08:36 cop get friend 09:08:45 cop gets fri-ed 09:09:17 dity bastard pummeling little woman 09:09:23 someone should cap him 09:12:56 hastuur_: If you don't know anything about programming and you want to develop for the web 09:13:07 don't try and jump in with Forth 09:20:03 --- join: mnemnion (~mnemnion@2601:643:8102:7c95:d8a5:6b83:c246:4922) joined #forth 09:24:28 hastuur_: I was not directing that comment at that particular video. For instance there is a rise in carjacking where criminals put hidden strobe bars inside their cars, turn them on when behind a target and when they stop, car jack or intimitade the victim. Often at gunpoint. 09:29:04 and more Forth-y pursuits: been thinking about buying three MRAM parallel accessible chips and a suitably sized CPLD to make an dual stack machine. 09:29:40 (two of the MRAM chips wont be that big, aroung 128-256 16bit cells) 09:30:10 my question is how many gates would I need in the CPLD? 09:41:07 --- join: pierpal (~pierpal@host23-9-dynamic.16-87-r.retail.telecomitalia.it) joined #forth 09:45:51 Your CPLD will likely have register resources as well as gates, and that will drive your decision as well. Most of those talk about how many "logic elements" they offer, and what a logic element is, exactly, will matter. 09:49:21 --- quit: pierpal (Ping timeout: 244 seconds) 09:52:10 Why a CPLD? There are open source toolchains for Lattice iCE40 FPGAs 09:52:22 CPLDs are fully proprietary afaik 09:53:18 people are working on open source tools for Xilinx Coolrunner 2, AFAIK, in ##openfpga 09:54:10 KipIngram: Hmm.. I need four registers I think. Dstack_idx, Rstack_idx, Instruction, and Program Counter 09:54:16 Maybe he just used "CPLD" as a general reference for "some sort of programmable logic device." 09:55:13 WilhelmVonWeiner: FPGAs take too long to start due to most of them being volatile sram based. 09:55:31 You may wind up needing some other registers as well, to hold operands inside the thing while you address other memory locations. 09:55:45 also many of them require too many power rails at diffrent voltages. 09:56:13 KipIngram: yeah, a TOS register most propably 09:58:04 900ms is too long a start up? 09:59:11 imo 900ms is worst case, too 09:59:36 So consider !. You have the address in your TOS register. But you'll have to fetch the data from memory and then turn around and write it back to another memory location. Will you need another register to hold in during that process? 09:59:54 WilhelmVonWeiner: yeap, specially in low power frequent powerloss scenarios. But I prefer CPLDs due to a bit smaller system complexity. 10:00:58 "hold it in" 10:01:13 Or I guess "hold it" was what I had in mind. 10:01:28 KipIngram: would route data output of the Dstack memory to data input on program memory directly 10:01:44 Ok, so you will have separate memories for this. Fair enough. 10:03:54 KipIngram: yebb. Having the stacks in program memory is just asking for slowdown and design-inconvience 10:06:47 Yes. When I think about this sort of thing I usually think about hardware stacks, but of course that significantly inreases the logic requirements and places a limit on stack size. Really fast, though. :-) 10:07:34 I also usually think in terms of separate instruction and data memories (Harvard architecture) for speed. 10:08:42 Of course that leaves me having to invent some way to write to the program memory, in order to be able to do anything, and that also complicates the design. 10:09:35 KipIngram: exactly what I was going to say: doesnt it complicate the design as you now have to have a way to write to program memory. 10:10:33 It definitely does. And those operations are obviously slower too - it just opens the way to faster "application execution." 10:11:50 The Xilinx FPGAs have dual-ported internal block RAMS, and they're big enough for a small-memory system. That simplifies things a lot. But only if that amount of memory will work for whatever the goal is. 10:12:06 what I have seen proposed for making an 'hybrid' Von Neuman slash Harvard architecture was to use dual ported program&data memory 10:12:16 ^ Yes. 10:13:14 With dual porting you can have one dedicated to instruction fetch, so that that's never interrupted, and use the other for "programmed access." 10:13:18 KipIngram: what do you consider small-memory system? I am thinking of at most having 64 KibiCells (16 bit cells) addressable in each 'core' 10:13:47 Gosh, it's been a while. But something of that order. 10:14:06 Hang on and let me go look at the Spartan 6 family and refresh my memory. 10:14:50 https://www.xilinx.com/products/silicon-devices/fpga/spartan-6.html#productTable 10:15:08 The smallest one listed there is 216 kbits, so that's still tens of kbytes. 10:15:24 Big enough for a Forth, unless you're trying to do some really data intensive thing. 10:16:39 Spartan 6 isn't the latest by any means, but I've had the impression that the newer ones have tended upward in price. 10:21:41 KipIngram: upwards in price, bloated complexity (that 'Blaze' core of theirs is crap) and power usage 10:23:10 I really haven't been professionally exposed to them in a number of years. 10:23:30 My IBM office uses the Zinq stuff, but I'm not in development there, so I'm not as "current" as I once was. 10:56:26 KipIngram: when pronounced does it sound link "sink"? (as in sinking ship) 10:57:20 like* 10:57:31 I think so, yes. 10:57:45 That family has a hard processor core as well as configurable logic, I believe. 10:59:20 yeah probably that aforesaid "Blaze". 11:05:44 --- join: pierpal (~pierpal@host23-9-dynamic.16-87-r.retail.telecomitalia.it) joined #forth 11:14:32 --- quit: pierpal (Ping timeout: 256 seconds) 11:19:31 --- join: pierpal (~pierpal@host23-9-dynamic.16-87-r.retail.telecomitalia.it) joined #forth 11:47:05 It's actually an ARM Cortex A9. 12:10:50 I have desktop 6x3.2ghz and 16g ram 12:10:53 I have gforth 12:11:03 how hard to cgi forth dynamic websites? 12:11:10 forth beginner 12:15:28 gforth includes a sample cgi script: https://github.com/forthy42/gforth/blob/master/gforth-cgi.fs 12:19:16 --- quit: pierpal (Read error: Connection reset by peer) 12:29:38 nice 12:32:53 --- join: pierpal (~pierpal@host23-9-dynamic.16-87-r.retail.telecomitalia.it) joined #forth 12:35:35 --- quit: pierpal (Read error: Connection reset by peer) 12:35:51 --- join: pierpal (~pierpal@host23-9-dynamic.16-87-r.retail.telecomitalia.it) joined #forth 12:43:07 --- join: alexshendi (~yaaic@ip2505f727.dynamic.kabel-deutschland.de) joined #forth 12:43:50 --- quit: pierpal (Read error: Connection reset by peer) 13:08:49 --- quit: epony (Remote host closed the connection) 13:09:10 --- join: epony (~nym@77-85-143-102.ip.btc-net.bg) joined #forth 13:09:56 --- join: pierpal (~pierpal@host23-9-dynamic.16-87-r.retail.telecomitalia.it) joined #forth 13:57:53 --- quit: pierpal (Quit: Poof) 13:58:09 --- join: pierpal (~pierpal@host23-9-dynamic.16-87-r.retail.telecomitalia.it) joined #forth 14:09:19 --- quit: alexshendi (Ping timeout: 260 seconds) 14:14:48 --- join: pierpa (57100917@gateway/web/freenode/ip.87.16.9.23) joined #forth 14:39:02 --- quit: dddddd (Remote host closed the connection) 14:40:28 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 14:50:25 --- quit: pierpal (Read error: Connection reset by peer) 15:31:49 strongly typed forth 15:31:52 <333 15:37:38 I've had some thoughts about that. I've thought about including a "type stack" that keeps up with the types of the stack items. Then the pattern of those types could be used to direct word searches. 15:37:47 I'd be able to do something similar to operator overloading. 15:38:16 The compiler could keep up with the type evolution as it compiled. 15:39:28 KipIngram: can you expand on what you mean exactly with the word type in this context? 15:40:27 A unique name that I chose to label that particular type of item with. 15:41:17 Knowing the type would tell you whether the item itself was on the stack (ints, floats, pointers) or whether a pointer to the item (say pointer to a matrix or something) was on the stack. 15:41:43 It would be assumed that words that associated themselves with any given type would know how to process it correctly. 15:42:41 Just as a toy example, you could then have 15:42:48 : + ( int int -- int) ... ; 15:42:50 or 15:42:59 : + ( matrix matrix -- matrix) ... ; 15:43:06 KipIngram: so basic datum types only then? 15:43:45 Well, no - I envisioned being able to have very complex things, similar to lists with mixed component types in Python. 15:44:03 As long as it's laid out exactly the same way in memory anytime the name is used. 15:44:18 sounds overly complicated 15:44:28 I know. I have very mixed feelings about it. 15:44:43 And certainly wouldn't want it to be in the "base system." 15:45:07 But I think with such a thing in place I could then use the Forth system to do jobs I'd typically do with, say, Matlab. 15:45:30 I'd want it to be an optional package I could load to extend the capability of the system into more applications. 15:45:55 And I envisioned it as a compile time thing only - no dynamic type-based decisions made at execution time. 15:47:08 But I like the idea of being able to run arithmetic expressions, for example, against vectors or matrices, and have it "just work." 15:48:33 Anyway, just an idea I've mentally toyed with for several years now - don't know if I'll ever get around to trying it out. 15:53:34 --- quit: FatalNIX (Disconnected by services) 15:55:27 --- join: FatalNIX_ (~FatalNIX@caligula.lobsternetworks.com) joined #forth 15:56:05 --- join: TCZ (~Johnny@ip-91.189.219.200.skyware.pl) joined #forth 15:57:03 --- quit: TCZ (Quit: Leaving) 17:04:17 --- quit: djinni (Quit: Leaving) 17:08:11 --- join: djinni (~djinni@68.ip-149-56-14.net) joined #forth 17:23:42 KipIngram: I do not see the point of such type systems. 17:46:34 I may not either after I explore it further, but the hoped for point is what I said earlier - to be able to have a system that I can use interactively, similar to Matlab or Octave, for that sort of numerical analysis. 17:47:03 Type an array in from the keyboard (that sort of complex literal support would require some work too) and take its inverse, or its LU factors - things like that. 17:47:44 But it's really just a blue sky thing right now - I may discover any number of reasons why it doesn't work as nicely as I might hope. 17:47:50 We'll see. If I ever get around to it. 18:15:49 --- quit: pierpa (Quit: Page closed) 18:36:22 --- join: pierpal (~pierpal@host23-9-dynamic.16-87-r.retail.telecomitalia.it) joined #forth 18:38:35 --- quit: proteusguy (Read error: Connection reset by peer) 18:51:05 --- quit: pierpal (Read error: Connection reset by peer) 18:54:54 --- join: pierpal (~pierpal@host23-9-dynamic.16-87-r.retail.telecomitalia.it) joined #forth 18:56:28 --- quit: pierpal (Read error: Connection reset by peer) 18:59:20 --- join: pierpal (~pierpal@host23-9-dynamic.16-87-r.retail.telecomitalia.it) joined #forth 19:05:49 --- quit: pierpal (Ping timeout: 240 seconds) 19:27:30 KipIngram: i havnt saw any new release since 3 years ago 19:36:19 hi 20:11:31 --- join: pierpal (~pierpal@host23-9-dynamic.16-87-r.retail.telecomitalia.it) joined #forth 20:17:49 --- quit: pierpal (Ping timeout: 240 seconds) 20:30:37 --- join: pierpal (~pierpal@host23-9-dynamic.16-87-r.retail.telecomitalia.it) joined #forth 20:44:30 --- quit: pierpal (Ping timeout: 256 seconds) 20:45:07 --- quit: dddddd (*.net *.split) 20:45:07 --- quit: epsyloN (*.net *.split) 20:45:07 --- quit: dzho (*.net *.split) 20:45:07 --- quit: crc (*.net *.split) 20:49:12 --- nick: FatalNIX_ -> FatalNIX 21:11:54 --- join: pierpal (~pierpal@host23-9-dynamic.16-87-r.retail.telecomitalia.it) joined #forth 21:22:06 --- quit: pierpal (Ping timeout: 260 seconds) 21:24:57 --- join: pierpal (~pierpal@host23-9-dynamic.16-87-r.retail.telecomitalia.it) joined #forth 21:29:41 --- quit: pierpal (Ping timeout: 260 seconds) 21:49:21 can you somehow bastract away the web prolem with forth extensibility? 21:55:46 --- quit: karswell (Remote host closed the connection) 21:57:05 --- join: karswell (~user@cust125-dsl91-135-5.idnet.net) joined #forth 22:42:48 --- join: pierpal (~pierpal@host23-9-dynamic.16-87-r.retail.telecomitalia.it) joined #forth 22:47:12 --- quit: pierpal (Ping timeout: 240 seconds) 23:03:29 --- join: pierpal (~pierpal@host23-9-dynamic.16-87-r.retail.telecomitalia.it) joined #forth 23:26:43 --- quit: karswell (Remote host closed the connection) 23:28:05 --- join: karswell (~user@cust125-dsl91-135-5.idnet.net) joined #forth 23:29:49 --- quit: karswell (Remote host closed the connection) 23:31:04 --- join: karswell (~user@cust125-dsl91-135-5.idnet.net) joined #forth 23:32:42 --- quit: karswell (Remote host closed the connection) 23:34:00 --- join: karswell (~user@cust125-dsl91-135-5.idnet.net) joined #forth 23:37:45 --- quit: pierpal (Ping timeout: 256 seconds) 23:52:06 --- quit: epony (Ping timeout: 248 seconds) 23:59:59 --- log: ended forth/18.05.31