Groups | Search | Server Info | Keyboard shortcuts | Login | Register
Groups > comp.lang.forth > #23670
| From | Paul Rubin <no.email@nospam.invalid> |
|---|---|
| Newsgroups | comp.lang.forth |
| Subject | Re: jonesforth: taking up the challenge |
| Date | 2013-06-15 16:47 -0700 |
| Organization | Nightsong/Fort GNOX |
| Message-ID | <7xvc5fx7fx.fsf@ruckus.brouhaha.com> (permalink) |
| References | (6 earlier) <2013Jun12.171604@mips.complang.tuwien.ac.at> <7xppvn880t.fsf@ruckus.brouhaha.com> <kpil1f$k51$1@online.de> <7x4nczghro.fsf@ruckus.brouhaha.com> <kpiq34$oa0$1@online.de> |
Bernd Paysan <bernd.paysan@gmx.de> writes: > JSForth maybe could use asm.js as fundation to implement Forth Hmm, that's an interesting idea, though probably not that useful outside the context of a cross compiler. >> http://www.haskell.org/haskellwiki/Simple_unix_tools > > I know, the problem was that IO Monads were explained at the end of the > book. This means you pretty much can't do anything real before you reach > the end of the book. The wiki above is much more pragmatic. Lazy i/o lets you deal with file contents without monadic actions except possibly for originally "reading" the file: contents <- readFile "filename" and you can pretend that <- is something like an assignment operator. > Large files: mmap. Ok, on a 32 bit system, not always practical ;-), but > for 64 bit systems, mmap works quite well. The trouble here is if you're both reading and writing the map in this scheme, the reader and writer can interfere with each other, which is supposed to be impossible if the map is presented as a pure string. The existing mmap wrapper has impure access functions that work fine; it's not worth doing another awful hack of making the impure appear pure. Haskell is being used for hardcore systems programming these days, so leaving weird edge cases around causes problems. > Yes, and my suggestion was to use something like slurp/spit. Even a > network works quite well that way: You define how your network stream is > packeted (e.g. a HTML request ends with an empty line). And then, you just > slurp in a packet, and respond with spitting another packet out. This is sort of what's recommended now (enumerator i/o) though it's done in the i/o monad where it belongs. Unfortunately it's conceptually complicated right now, since it's a fairly new thing and the ideas are still being distilled. You can also write traditional, imperative-style code with i/o handles and that's perfectly ok, if a little bit ugly at times. > Yes, and no. It revolves about simplicity, and doing just what needs to be > done, no more. This may sound odd, but I think Forth implementation is more complicated than Lisp implementation. There are really only a few concepts in old-fashioned Lisp and they're less intricate than Forth. A naive implementation just ends up being a lot less efficient than a minimal Forth. > Not sure, the Forth program has just three transforms: The OpenGL > perspectivic correction (draws a rectangle rotated in 3D space), the > pixel binning, and the majority decision. Right, presumably the transforms have loops iterating through the pixels, so you have to either write one loop combining all three transforms (not so modular) or three separate loops somehow communicating, or all modifying an in-memory image. In Haskell you'd aim for something like recognize = majority . pixelBin . deskew where deskew and pixelBin are maps on entire images, and and (if you're lucky) the compiler fuses all the loops.
Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar
jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-04 18:14 +0000
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-04 11:28 -0700
Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-06 15:37 -0500
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-06 13:49 -0700
Re: jonesforth: taking up the challenge "Ed" <invalid@invalid.com> - 2013-06-07 12:32 +1000
Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-07 14:36 +0000
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-07 08:39 -0700
Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-07 17:04 +0000
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-07 11:19 -0700
Re: jonesforth: taking up the challenge "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-06-07 17:24 -0400
Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-07 23:04 +0000
Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-11 14:59 +0000
Re: jonesforth: taking up the challenge Bill Richards <billrich@gmx.com> - 2013-06-11 16:09 +0000
Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-12 08:08 -0500
Re: jonesforth: taking up the challenge Bill Richards <billrich@gmx.com> - 2013-06-12 13:52 +0000
Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-12 14:17 -0500
Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-13 08:24 +0000
Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-12 14:18 +0000
Re: jonesforth: taking up the challenge Bill Richards <billrich@gmx.com> - 2013-06-12 15:05 +0000
Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-13 01:40 +0000
Re: jonesforth: taking up the challenge Lars Brinkhoff <lars.spam@nocrew.org> - 2013-06-13 08:55 +0200
Re: jonesforth: taking up the challenge "Elizabeth D. Rather" <erather@forth.com> - 2013-06-12 21:05 -1000
Re: jonesforth: taking up the challenge Lars Brinkhoff <lars.spam@nocrew.org> - 2013-06-13 10:49 +0200
Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-13 08:55 +0000
Re: jonesforth: taking up the challenge Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-13 14:33 +0200
Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-13 13:14 +0000
Re: jonesforth: taking up the challenge Bill Richards <billrich@gmx.com> - 2013-06-13 18:33 +0000
Re: jonesforth: taking up the challenge Mark Wills <markrobertwills@yahoo.co.uk> - 2013-06-14 01:25 -0700
Re: jonesforth: taking up the challenge rickman <gnuarm@gmail.com> - 2013-06-15 12:00 -0400
Re: jonesforth: taking up the challenge Mark Wills <markrobertwills@yahoo.co.uk> - 2013-06-15 14:35 -0700
Re: jonesforth: taking up the challenge rickman <gnuarm@gmail.com> - 2013-06-15 19:29 -0400
Re: jonesforth: taking up the challenge Mark Wills <markrobertwills@yahoo.co.uk> - 2013-06-17 03:31 -0700
Re: jonesforth: taking up the challenge rickman <gnuarm@gmail.com> - 2013-06-17 19:16 -0400
Re: jonesforth: taking up the challenge rickman <gnuarm@gmail.com> - 2013-06-15 11:58 -0400
Re: jonesforth: taking up the challenge Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-11 18:32 +0200
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-11 10:33 -0700
Re: jonesforth: taking up the challenge Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2013-06-11 20:42 +0100
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-12 00:20 -0700
Re: jonesforth: taking up the challenge Mark Wills <markrobertwills@yahoo.co.uk> - 2013-06-12 01:29 -0700
Re: jonesforth: taking up the challenge Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-12 19:52 +0200
Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-12 14:19 -0500
Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-13 08:47 +0000
Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-13 07:45 -0500
Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-13 13:04 +0000
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-14 21:32 -0700
Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-17 17:15 +0000
Re: jonesforth: taking up the challenge Lars Brinkhoff <lars.spam@nocrew.org> - 2013-06-20 09:42 +0200
Re: jonesforth: taking up the challenge "Elizabeth D. Rather" <erather@forth.com> - 2013-06-19 21:52 -1000
Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-16 10:01 -0500
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-16 14:14 -0700
Re: jonesforth: taking up the challenge Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-16 23:58 +0200
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-16 23:17 -0700
Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-17 16:00 +0000
Re: jonesforth: taking up the challenge Elizabeth D Rather <erather@forth.com> - 2013-06-17 08:05 -1000
Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-17 19:33 +0000
Re: jonesforth: taking up the challenge Gerry Jackson <spam@qlikz.org> - 2013-06-17 21:23 +0100
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-12 22:58 -0700
Re: jonesforth: taking up the challenge "Elizabeth D. Rather" <erather@forth.com> - 2013-06-12 20:48 -1000
Re: jonesforth: taking up the challenge rickman <gnuarm@gmail.com> - 2013-06-15 12:05 -0400
Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-13 10:39 +0000
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-11 18:44 -0700
Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-12 15:16 +0000
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-15 12:54 -0700
Re: jonesforth: taking up the challenge "Elizabeth D. Rather" <erather@forth.com> - 2013-06-15 11:05 -1000
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-15 14:21 -0700
Re: jonesforth: taking up the challenge Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-15 23:06 +0200
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-15 14:56 -0700
Re: jonesforth: taking up the challenge Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-16 00:33 +0200
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-15 16:47 -0700
Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-16 09:45 -0500
Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-17 16:19 +0000
Re: jonesforth: taking up the challenge Alex McDonald <blog@rivadpm.com> - 2013-06-17 11:51 -0700
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-18 00:31 -0700
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-18 00:33 -0700
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-18 00:46 -0700
Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-18 04:11 -0500
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-18 23:51 -0700
Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-19 04:32 -0500
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-19 02:42 -0700
Re: jonesforth: taking up the challenge Lars Brinkhoff <lars.spam@nocrew.org> - 2013-06-19 12:08 +0200
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-19 09:25 -0700
Re: jonesforth: taking up the challenge Lars Brinkhoff <lars.spam@nocrew.org> - 2013-06-19 19:10 +0200
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-20 17:08 -0700
Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-19 09:04 -0500
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-19 09:26 -0700
Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-07 16:45 -0500
Re: jonesforth: taking up the challenge "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-06-06 23:29 -0400
Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-07 14:41 +0000
Re: jonesforth: taking up the challenge "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-06-07 17:24 -0400
Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-07 23:07 +0000
Re: jonesforth: taking up the challenge Bernd Paysan <bernd.paysan@gmx.de> - 2013-06-08 01:26 +0200
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-07 17:54 -0700
Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-19 10:01 +0000
Re: jonesforth: taking up the challenge Lars Brinkhoff <lars.spam@nocrew.org> - 2013-06-08 07:29 +0200
Re: jonesforth: taking up the challenge mhx@iae.nl - 2013-06-07 23:17 -0700
Re: jonesforth: taking up the challenge mhx@iae.nl - 2013-06-08 01:30 -0700
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-07 23:41 -0700
Re: jonesforth: taking up the challenge Lars Brinkhoff <lars.spam@nocrew.org> - 2013-06-08 09:35 +0200
Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-06-08 14:28 +0000
Re: jonesforth: taking up the challenge Lars Brinkhoff <lars.spam@nocrew.org> - 2013-06-08 21:22 +0200
Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-19 10:06 +0000
Re: jonesforth: taking up the challenge Lars Brinkhoff <lars.spam@nocrew.org> - 2013-06-19 12:27 +0200
Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-19 10:44 +0000
Re: jonesforth: taking up the challenge Lars Brinkhoff <lars.spam@nocrew.org> - 2013-07-05 07:41 +0200
Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-07-05 14:45 +0000
Re: jonesforth: taking up the challenge Lars Brinkhoff <lars.spam@nocrew.org> - 2013-06-08 21:55 +0200
Re: jonesforth: taking up the challenge Bill Richards <billrich@gmx.com> - 2013-06-11 14:09 +0000
Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-08 07:49 +0000
Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-08 07:47 +0000
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-08 00:59 -0700
Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-06-08 16:40 -0500
Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-13 01:24 +0000
Re: jonesforth: taking up the challenge Mark Wills <markrobertwills@yahoo.co.uk> - 2013-06-07 00:37 -0700
Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-06-07 00:53 -0700
Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-07 14:49 +0000
Re: jonesforth: taking up the challenge Bill Richards <billrich@gmx.com> - 2013-06-11 14:13 +0000
Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-12 14:21 +0000
Re: jonesforth: taking up the challenge the_gavino_himself <visphatesjava@gmail.com> - 2013-06-15 23:22 -0700
Re: jonesforth: taking up the challenge "Elizabeth D. Rather" <erather@forth.com> - 2013-06-15 21:26 -1000
Re: jonesforth: taking up the challenge Alex McDonald <blog@rivadpm.com> - 2013-06-16 12:58 -0700
OT Making fun of gavino. was Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-06-19 10:52 +0000
csiph-web