Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #54753 > unrolled thread
| Started by | mhx@iae.nl |
|---|---|
| First post | 2017-02-09 10:56 -0800 |
| Last post | 2017-02-10 11:24 -0800 |
| Articles | 13 — 6 participants |
Back to article view | Back to comp.lang.forth
ANN: iForth64 mhx@iae.nl - 2017-02-09 10:56 -0800
Re: ANN: iForth64 mentificium@gmail.com - 2017-02-09 13:00 -0800
Re: ANN: iForth64 Julian Fondren <julian.fondren@gmail.com> - 2017-02-09 21:04 -0800
Re: ANN: iForth64 mhx@iae.nl - 2017-02-10 11:35 -0800
Re: ANN: iForth64 rickman <gnuarm@gmail.com> - 2017-02-10 22:19 -0500
Re: ANN: iForth64 Marc Olschok <nobody@nowhere.invalid> - 2017-02-18 02:19 +0000
Re: ANN: iForth64 Julian Fondren <julian.fondren@gmail.com> - 2017-02-14 22:44 -0800
Re: ANN: iForth64 Julian Fondren <julian.fondren@gmail.com> - 2017-02-15 21:55 -0800
Re: ANN: iForth64 albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-02-16 11:43 +0100
Re: ANN: iForth64 Julian Fondren <julian.fondren@gmail.com> - 2017-02-16 19:38 -0800
Re: ANN: iForth64 albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-02-17 11:23 +0100
Re: ANN: iForth64 albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-02-10 17:39 +0100
Re: ANN: iForth64 mhx@iae.nl - 2017-02-10 11:24 -0800
| From | mhx@iae.nl |
|---|---|
| Date | 2017-02-09 10:56 -0800 |
| Subject | ANN: iForth64 |
| Message-ID | <c5746ecb-8622-4685-ad26-afc1aa76b318@googlegroups.com> |
When Kagi went out of business some months ago, iForth lost its distribution service. After weeks of continuous development, mostly spend with throwing Web code away, this unbearable situation is finally rectified. We are proud to present our absolutely minimal embedded two line Web Shop at <http://home.iae.nl/users/mhx/i4faq.html>. We even found room to squeeze in a PayPal button for online ordering. Beginning users of Forth are kindly suggested to look into one the many free Forths first, as iForth64 might come as a bit of a shock, and we don't want anybody to miss that experience. -marcel
[toc] | [next] | [standalone]
| From | mentificium@gmail.com |
|---|---|
| Date | 2017-02-09 13:00 -0800 |
| Message-ID | <bca0e05b-67a5-497a-aad2-1a6bb31c6ac7@googlegroups.com> |
| In reply to | #54753 |
On Thursday, February 9, 2017 at 10:56:32 AM UTC-8, m...@iae.nl wrote: > When Kagi went out of business some months ago, iForth > lost its distribution service. > > After weeks of continuous development, mostly spend > with throwing Web code away, this unbearable situation > is finally rectified. > We are proud to present our absolutely minimal embedded > two line Web Shop at <http://home.iae.nl/users/mhx/i4faq.html>. > We even found room to squeeze in a PayPal button for > online ordering. > > Beginning users of Forth are kindly suggested to look > into one the many free Forths first, as iForth64 might > come as a bit of a shock, and we don't want anybody > to miss that experience. > > -marcel I bought iForth through Kagi several years ago. Congratulations on the new way of obtaining iForth. Arthur -- http://www.advogato.org/person/mentifex http://independent.academia.edu/mentifex http://www.nlg-wiki.org/systems/Mind.Forth http://dl.acm.org/citation.cfm?doid=307824.307853
[toc] | [prev] | [next] | [standalone]
| From | Julian Fondren <julian.fondren@gmail.com> |
|---|---|
| Date | 2017-02-09 21:04 -0800 |
| Message-ID | <7e64777c-7f13-467c-8f41-f16580b336bc@googlegroups.com> |
| In reply to | #54753 |
On Thursday, February 9, 2017 at 12:56:32 PM UTC-6, m...@iae.nl wrote: > > Beginning users of Forth are kindly suggested to look > into one the many free Forths first, as iForth64 might > come as a bit of a shock, and we don't want anybody > to miss that experience. > I found it a shock and wrote a bit to help unix people: https://groups.google.com/d/msg/comp.lang.forth/ovFEONJqmGc/JAe8WTVPAgAJ I've also found it productive to email the devs. iForth costs $100 once. If you spend a single 20-minute meeting with more than two people discussing whether the GPL is a problem or not for your project, then you've already spent more money than that. iForth is completely unencumbered: it's OK if your app has a Forth prompt; it's OK if when someone downloads your app they're also downloading iForth, to run it. For beginning users of Forth, I wonder if there's much variation beyond how nicely different Forths react to certain errors. There's a range of (crash .. silently return to prompt .. complain that something is wrong somewhere .. say hey this pinpoint part of your program is probably misguided in this exact way) responses. It's more at the 'cookbook' level -- the level at which you would want to buy an O'Reilly "Forth Cookbook" and use it as a guide to make a specific program -- that there's divergence. I want to do X. How do I do X? Send email, parse JSON, write to a log file, accept a TCP connection, process commandline arguments, add a bunch of triangles to an OpenGL display. At this level, knowing one Forth makes it *more annoying* to use another Forth, because your prior cookbook knowledge rarely translates. On the contrary you are burdened with "how do I do <this exact thing from the other Forth>" goals that are a few levels removed from the original cookbook desires.
[toc] | [prev] | [next] | [standalone]
| From | mhx@iae.nl |
|---|---|
| Date | 2017-02-10 11:35 -0800 |
| Message-ID | <78e73bac-09ea-4d06-bfe0-1ae024d8e5af@googlegroups.com> |
| In reply to | #54765 |
On Friday, February 10, 2017 at 6:04:12 AM UTC+1, Julian Fondren wrote: [..] > It's more at the 'cookbook' level -- the level at which > you would want to buy an O'Reilly "Forth Cookbook" and > use it as a guide to make a specific program -- that > there's divergence. I would certainly buy a book that explained (such) things the Forth way. No larks tongues in aspic, just meat and potatoes. -marcel
[toc] | [prev] | [next] | [standalone]
| From | rickman <gnuarm@gmail.com> |
|---|---|
| Date | 2017-02-10 22:19 -0500 |
| Message-ID | <o7lvnq$fla$1@dont-email.me> |
| In reply to | #54782 |
On 2/10/2017 2:35 PM, mhx@iae.nl wrote: > On Friday, February 10, 2017 at 6:04:12 AM UTC+1, Julian Fondren wrote: > [..] >> It's more at the 'cookbook' level -- the level at which >> you would want to buy an O'Reilly "Forth Cookbook" and >> use it as a guide to make a specific program -- that >> there's divergence. > > I would certainly buy a book that explained (such) > things the Forth way. No larks tongues in aspic, just > meat and potatoes. Do people really cut the tongues from larks to make food? That's just cruel! -- Rick C
[toc] | [prev] | [next] | [standalone]
| From | Marc Olschok <nobody@nowhere.invalid> |
|---|---|
| Date | 2017-02-18 02:19 +0000 |
| Message-ID | <o88b06$37e$1@news.albasani.net> |
| In reply to | #54787 |
rickman <gnuarm@gmail.com> wrote: > On 2/10/2017 2:35 PM, mhx@iae.nl wrote: > > On Friday, February 10, 2017 at 6:04:12 AM UTC+1, Julian Fondren wrote: > > [..] > >> It's more at the 'cookbook' level -- the level at which > >> you would want to buy an O'Reilly "Forth Cookbook" and > >> use it as a guide to make a specific program -- that > >> there's divergence. > > > > I would certainly buy a book that explained (such) > > things the Forth way. No larks tongues in aspic, just > > meat and potatoes. > > Do people really cut the tongues from larks to make food? That's just > cruel! > Most likely people used to kill the larks before cutting out their tongues, because it is too difficult to do this while the animal is still alive. The same with cows. On the other hand it is more profitable to keep the larks alive in large lark farms, where they vomit regularly; the vomit can then go into the production of Belgian chocolates. -- Marc
[toc] | [prev] | [next] | [standalone]
| From | Julian Fondren <julian.fondren@gmail.com> |
|---|---|
| Date | 2017-02-14 22:44 -0800 |
| Message-ID | <e39165b2-8019-48ab-bfea-957ae116e598@googlegroups.com> |
| In reply to | #54782 |
On Friday, February 10, 2017 at 1:35:33 PM UTC-6, m...@iae.nl wrote: > On Friday, February 10, 2017 at 6:04:12 AM UTC+1, Julian Fondren wrote: > [..] > > It's more at the 'cookbook' level -- the level at which > > you would want to buy an O'Reilly "Forth Cookbook" and > > use it as a guide to make a specific program -- that > > there's divergence. > > I would certainly buy a book that explained (such) > things the Forth way. No larks tongues in aspic, just > meat and potatoes. > > -marcel After writing a bit, I think the more appropriate O'Reilly series to go with is the "Hacks" one. "iForth Hacks" would draw out what you can do with iForth specifically: Hack #33. Extend the C server with the primitives you need. You can SYSCALL them. Hack #97. Speed up unknown-length reads from sockets. Our app was speedy with a fixed-length packet protocol, but it slowed way down when asked simply to echo any bytes back. We'll need to take a closer look at these networking words. Hack #12. Automatically show the contents of the stack. Without it getting in the way. And so on. A separate "Forth Cookbook" would focus more on doing things with libraries, exploring OO systems, more Rosetta Code tasks, etc.
[toc] | [prev] | [next] | [standalone]
| From | Julian Fondren <julian.fondren@gmail.com> |
|---|---|
| Date | 2017-02-15 21:55 -0800 |
| Message-ID | <018dc9df-1e01-436f-8578-437992a95e86@googlegroups.com> |
| In reply to | #54858 |
On Wednesday, February 15, 2017 at 12:44:24 AM UTC-6, Julian Fondren wrote: > > After writing a bit, I think the more appropriate O'Reilly series to > go with is the "Hacks" one. "iForth Hacks" would draw out what you can > do with iForth specifically: > > Hack #33. Extend the C server with the primitives you need. > You can SYSCALL them. > > Hack #97. Speed up unknown-length reads from sockets. > Our app was speedy with a fixed-length packet protocol, but it > slowed way down when asked simply to echo any bytes back. We'll need > to take a closer look at these networking words. > > Hack #12. Automatically show the contents of the stack. > Without it getting in the way. > > And so on. pour l'example: Hack #5: Cut the fat from your installation The latest (2014) release of iForth, when uncompressed, takes up 757MB of diskspace. This is nothing for your laptop probably, but it's a modest amount of diskspace when it comes to tiny VPS servers or regular backups over metered bandwidth. If you're powering a website with iForth for example, you might get offered some very nice backup options that at their cheapest only back up a few gigabytes. It'd be one thing to spend so much space on iForth if you need all of its files -- but you probably don't. *** Largest directories - 278M examples - 48M examples/orkest - 36M examples/UM - 28M examples/benchmar - 20M examples/StartingForth - 14M examples/statevars - 11M examples/SDL - 11M examples/brew - 192M iflinux - 65M iflinux/linux-bin64 - 65M iflinux/darwin-bin64 - 61M iflinux/iserver - 118M ifwinnt64 - 115M ifwinnt64/bin - 80M generaldocs - 45M ifwinnt - 41M ifwinnt/bin - 28M include *** Cutting the fat, from 757M to 122M (or 58M!) The 'examples' directory of course is for educational material - good to have around, but not necessary. Note though that some of it can be reused - used files, you may want to copy to includes/ instead. Cutting it brings the installation from 757M down to 480M. Out of the iflinux/linux-bin64, iflinux/darwin-bin64, ifwinnt64, and ifwinnt directories you of course only need the one you're actually using. Cutting all of these but linux-bin64 brings the installation down to 253M. generaldocs purely contains documentation -- it's quite the library, with optimization, architecture, Forth, and other references and documents. You definitely don't need it on a server though, and removing it shrinks the installation to 174M. This leaves your largest directory by far as iflinux at 128M. Most of this diskspace comes from two locations: - 65M iflinux/linux-bin64/iforth.img - 52M iflinux/iserver/MPC/ The first is the definitely required system image for iForth, but it compresses very nicely to 192K. You can temporarily compress it for file transfers, or just rely on auto-compression by rsync or such, but you can also permanently compress it, and still use it as an image, with [Hack #XX: Compress your iforth.img]. The second is unnecessary if you don't need to recompile or use these libraries with this installation. Although this is a subdirectory of 'iserver', where the C server is built, these libraries are intended to be loaded at runtime with libdl, and the C server doesn't need to know about them or be linked with them, even dynamically. You can find code using these libraries under examples/gmpfr Removing iflinux/iserver/MPC brings the installation down to 122M. When iforth.img is compressed, iForth's installation requires a mere 58 megabytes, less than 8% of the original size. *** Largest directories (take 2) The larger survivors are still pretty tiny: - 28M include - 7.5M include/PLRM.pdf - 5.6M include/gui - 3.8M include/ffl - 2.4M include/fjack - 1.4M include/radio - 904K include/sdllib.bmp - 452K include/micross.ttf - 420K include/latexstr.bmp - 352K include/fonts - 12M iflinux - 9.0M dataf - 6.7M iforth - 2.3M iForthGlossary_A4_vsn41.pdf - 360K iForthGlossary_A4_vsn41.docx - 332K install-Linux - 192K BUGS - 60K c(-rationale.pdf Although 'include' is relatively vital, you probably don't need all of those larger files. PLRM.pdf is a PostScript reference. ffl is the Forth Foundation Library. dataf contains iForth documentation and resource files, and probably shouldn't be deleted if you retain the 'include' directory, which references them. The 'iforth' directory is actually iForth for DOS, analogous to iflinux and ifwinnt64 and such. With this directory removed, our shrunken iForth installation is only 122M / 52M. The absolute minimum size required for iForth is less than a megabyte: the C server hacked to load a compressed iforth.img. If you get to the point of wanting to prune the installation below 122/52M, it's probably best to target this minimal install, perhaps using an image that includes your application.
[toc] | [prev] | [next] | [standalone]
| From | albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) |
|---|---|
| Date | 2017-02-16 11:43 +0100 |
| Message-ID | <o83vo2$vp$1@cherry.spenarnc.xs4all.nl> |
| In reply to | #54876 |
In article <018dc9df-1e01-436f-8578-437992a95e86@googlegroups.com>, Julian Fondren <julian.fondren@gmail.com> wrote: >On Wednesday, February 15, 2017 at 12:44:24 AM UTC-6, Julian Fondren wrote: >> >> After writing a bit, I think the more appropriate O'Reilly series to >> go with is the "Hacks" one. "iForth Hacks" would draw out what you can >> do with iForth specifically: >> >> Hack #33. Extend the C server with the primitives you need. >> You can SYSCALL them. >> >> Hack #97. Speed up unknown-length reads from sockets. >> Our app was speedy with a fixed-length packet protocol, but it >> slowed way down when asked simply to echo any bytes back. We'll need >> to take a closer look at these networking words. >> >> Hack #12. Automatically show the contents of the stack. >> Without it getting in the way. >> >> And so on. > >pour l'example: > >Hack #5: Cut the fat from your installation > >The latest (2014) release of iForth, when uncompressed, takes up 757MB >of diskspace. This is nothing for your laptop probably, but it's a <SNIP> >The absolute minimum size required for iForth is less than a megabyte: >the C server hacked to load a compressed iforth.img. If you get to the >point of wanting to prune the installation below 122/52M, it's >probably best to target this minimal install, perhaps using an image >that includes your application. Or you can start at the other side, add only what you need, Read doc's from a server. lina64 : 55 Kbyte forth.lab : 313 kbyte (includes utilities, compilation, scripting, assembler, and now floating point.) No configuration files, no environment variables, no directory layout restrictions. Groetjes Albert -- Albert van der Horst, UTRECHT,THE NETHERLANDS Economic growth -- being exponential -- ultimately falters. albert@spe&ar&c.xs4all.nl &=n http://home.hccnet.nl/a.w.m.van.der.horst
[toc] | [prev] | [next] | [standalone]
| From | Julian Fondren <julian.fondren@gmail.com> |
|---|---|
| Date | 2017-02-16 19:38 -0800 |
| Message-ID | <ae62e9bc-3bdb-4ff0-ac34-5ec9c1f4611b@googlegroups.com> |
| In reply to | #54879 |
On Thursday, February 16, 2017 at 4:43:14 AM UTC-6, Albert van der Horst wrote:
>
> Or you can start at the other side, add only what you need,
Hack #1: Some kind of problem with your Forth system?
Try not using it.
(the end)
I don't think I'd sell many books.
> Read doc's from a server.
> lina64 : 55 Kbyte
> forth.lab : 313 kbyte
> (includes utilities, compilation, scripting, assembler, and now
> floating point.)
> No configuration files, no environment variables, no directory layout
> restrictions.
lina64 needs to know where forth.lab is. This is usually hard-coded,
less of a hassle with a self-replicating system, but still something
that you have to think about and manage. I have, yes, run commands,
gotten errors, and then said "woops--I need to grab a forth.lab too."
If you pretend that a minor hassle is no hassle then you'll probably
end up with an undocumented hassle that is major to the uninitiated.
And lina of course also has matters that could be written usefully
about or else 'solved' by one's giving up and using another Forth.
- You don't like typing 1 LOAD "CASE-INSENSITIVE" WANTED
CASE-INSENSITIVE every single time you start lina?
- You have a MOVE heavy loop that you notice is 60+ times slower
under lina than under gforth?
- You have an existing OO-heavy Forth application?
- lina absolutely insists on producing *some* output instead of *no*
output when a word is redefined?
- Are you concerned that the code you're writing with lina might not
run on another system without unusual efforts?
This isn't advanced stuff. The iForth 'hack' above didn't even involve
programming. O'Reilly-type books are good for turning people from
know-nothings into beginners and then from beginners to intermediate
users.
[toc] | [prev] | [next] | [standalone]
| From | albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) |
|---|---|
| Date | 2017-02-17 11:23 +0100 |
| Message-ID | <o86ivv$9gt$1@cherry.spenarnc.xs4all.nl> |
| In reply to | #54907 |
In article <ae62e9bc-3bdb-4ff0-ac34-5ec9c1f4611b@googlegroups.com>,
Julian Fondren <julian.fondren@gmail.com> wrote:
>On Thursday, February 16, 2017 at 4:43:14 AM UTC-6, Albert van der Horst wrote:
>>
>> Or you can start at the other side, add only what you need,
>
> Hack #1: Some kind of problem with your Forth system?
>
> Try not using it.
>
> (the end)
>
>I don't think I'd sell many books.
>
>
>> Read doc's from a server.
>> lina64 : 55 Kbyte
>> forth.lab : 313 kbyte
>> (includes utilities, compilation, scripting, assembler, and now
>> floating point.)
>
>> No configuration files, no environment variables, no directory layout
>> restrictions.
>
>lina64 needs to know where forth.lab is. This is usually hard-coded,
>less of a hassle with a self-replicating system, but still something
>that you have to think about and manage. I have, yes, run commands,
>gotten errors, and then said "woops--I need to grab a forth.lab too."
Normally a program need to be installed. If you install lina this
problem doesn't exist. iforth doesn't even run if it is not installed.
If you want to use a particular forth.lab you can use
lina -l <absolute-path> Other options
Few Forth's have such an easy way to use several installations
on the same system.
>
>If you pretend that a minor hassle is no hassle then you'll probably
>end up with an undocumented hassle that is major to the uninitiated.
>
>And lina of course also has matters that could be written usefully
>about or else 'solved' by one's giving up and using another Forth.
>
> - You don't like typing 1 LOAD "CASE-INSENSITIVE" WANTED
> CASE-INSENSITIVE every single time you start lina?
That is on line 12 or so of the tutorial,
for development always start with
lina -e
>
> - You have a MOVE heavy loop that you notice is 60+ times slower
> under lina than under gforth?
>
> - You have an existing OO-heavy Forth application?
>
> - lina absolutely insists on producing *some* output instead of *no*
> output when a word is redefined?
That is a feature. Note that this output is on the error channel.
Redefiniting is a single most important source of problems.
>
> - Are you concerned that the code you're writing with lina might not
> run on another system without unusual efforts?
Yes. However, mostly it is the code on the fat system that has trouble
running on lina.
>
>This isn't advanced stuff. The iForth 'hack' above didn't even involve
>programming. O'Reilly-type books are good for turning people from
>know-nothings into beginners and then from beginners to intermediate
>users.
I admit that iForth may be better for some things.
Groetjes Albert
--
Albert van der Horst, UTRECHT,THE NETHERLANDS
Economic growth -- being exponential -- ultimately falters.
albert@spe&ar&c.xs4all.nl &=n http://home.hccnet.nl/a.w.m.van.der.horst
[toc] | [prev] | [next] | [standalone]
| From | albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) |
|---|---|
| Date | 2017-02-10 17:39 +0100 |
| Message-ID | <o7kqco$erq$1@cherry.spenarnc.xs4all.nl> |
| In reply to | #54753 |
In article <c5746ecb-8622-4685-ad26-afc1aa76b318@googlegroups.com>,
<mhx@iae.nl> wrote:
>When Kagi went out of business some months ago, iForth
>lost its distribution service.
>
>After weeks of continuous development, mostly spend
>with throwing Web code away, this unbearable situation
>is finally rectified.
>We are proud to present our absolutely minimal embedded
>two line Web Shop at <http://home.iae.nl/users/mhx/i4faq.html>.
>We even found room to squeeze in a PayPal button for
>online ordering.
Under the header
<red>NEW</RED>How to order iforth
I found a line:
Please order at Kagi <A>by clicking here</A>
which led to a 404 error.
Puzzled.
<SNIP>
>
>-marcel
>
--
Albert van der Horst, UTRECHT,THE NETHERLANDS
Economic growth -- being exponential -- ultimately falters.
albert@spe&ar&c.xs4all.nl &=n http://home.hccnet.nl/a.w.m.van.der.horst
[toc] | [prev] | [next] | [standalone]
| From | mhx@iae.nl |
|---|---|
| Date | 2017-02-10 11:24 -0800 |
| Message-ID | <c8fce436-45df-4acd-b335-39815b88a589@googlegroups.com> |
| In reply to | #54770 |
On Friday, February 10, 2017 at 5:40:02 PM UTC+1, Albert van der Horst wrote: > In article <c5746ecb-8622-4685-ad26-afc1aa76b318@googlegroups.com>, > <mhx@iae.nl> wrote: > >When Kagi went out of business some months ago, iForth > >lost its distribution service. > > > >After weeks of continuous development, mostly spend > >with throwing Web code away, this unbearable situation > >is finally rectified. > >We are proud to present our absolutely minimal embedded > >two line Web Shop at <http://home.iae.nl/users/mhx/i4faq.html>. > >We even found room to squeeze in a PayPal button for > >online ordering. > > Under the header > <red>NEW</RED>How to order iforth > I found a line: > Please order at Kagi <A>by clicking here</A> > which led to a 404 error. > > Puzzled. The page is supposed to be anti-chronologically sorted. It's now less logical. Please try again. -marcel
[toc] | [prev] | [standalone]
Back to top | Article view | comp.lang.forth
csiph-web