Groups | Search | Server Info | Keyboard shortcuts | Login | Register
Groups > comp.compilers > #3450
| From | Kaz Kylheku <864-117-4973@kylheku.com> |
|---|---|
| Newsgroups | comp.compilers |
| Subject | Re: Portable Software |
| Date | 2023-04-06 08:35 +0000 |
| Organization | A noiseless patient Spider |
| Message-ID | <23-04-008@comp.compilers> (permalink) |
| References | (4 earlier) <23-03-032@comp.compilers> <23-03-042@comp.compilers> <23-04-005@comp.compilers> <23-04-006@comp.compilers> <23-04-007@comp.compilers> |
On 2023-04-05, Anton Ertl <anton@mips.complang.tuwien.ac.at> wrote: > Hans-Peter Diettrich <DrDiettrich1@netscape.net> writes: >>On 4/2/23 12:04 PM, Anton Ertl wrote: >> >>> For a Unix, there were a few hoops we had to jump through to make >>> Gforth work: e.g., IRIX 6.5 had a bug in sigaltstack, so we put in a >>> workaround for that; HP/UX's make dealt with files with the same mtime >>> differently from other makes, so we put in a workaround for that. >>> Windows, even with Cygwin, puts up many more hoops to jump through; >>> Bernd Paysan actually jumped through them for Gforth, but a Windows >>> build is still quite a bit of work, so he does that only occasionally. >> >>Too bad that not all existing OS are POSIX compatible? ;-) > > Like many standards, POSIX is a subset of the functionality that > programs use. Windows NT used to have a POSIX subsystem in order to > make WNT comply with FIPS 151-2 needed to make WNT eligible for > certain USA government purchases. From what I read, it was useful for > that, but not much else. The best POSIX subsystem for Windows is arguably Cygwin. It has quite a rich POSIX functionality. Not only that, but ANSI terminal functionality: its I/O system contains a layer which translates ANSI escape sequences into Windows Console API calls. Yuo can take a program written on Linux which uses termios to put the TTY in raw mode, and ANSI escapes to control the screen, and it will work on Cygwin. One of its downsides downside is that Cygwin has poor performance (mainly in the area of file access). The other downside of Cygwin is that it implements certain conventions that are at odds with "native" Windows. In 2016 I started a small project called Cygnal (Cygwin Native Application Library) to fix problems in this second category, creating a fork of the Cygwin DLL. https://www.kylheku.com/cygnal >>(G)FORTH IMO is a special case because it's (also) a development system. >>Building (bootstrapping) a new FORTH system written in FORTH is quite >>complicated, in contrast to languages with stand alone tools like >>compiler, linker etc. > > Not really. Most self-respecting languages have their compiler(s) > implemented in the language itself, resulting in having to bootstrap. You can avoid the chicken-and-egg problem that requires boostrapping by using a host language to implement an interpreter for the target language. That interpreter can then directly execute the compiler, which can compile itself and other parts of the run-time, as needed. It's still a kind of boostrapping, but at no point do you need a pre-built binary of the target language compiler to build that compiler; you just need an implementation of a host language. This works quite well when the host language is good for writing interpreters, and the target one for compiler work, and also when it's useful to have an interpreter even when compilation is available. -- TXR Programming Language: http://nongnu.org/txr Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal Mastodon: @Kazinator@mstdn.ca
Back to comp.compilers | Previous | Next — Previous in thread | Next in thread | Find similar
fledgling assembler programmer Alan.Beck@darkrealms.ca (Alan Beck) - 2023-03-21 17:40 -0400
Re: fledgling assembler programmer gah4 <gah4@u.washington.edu> - 2023-03-21 17:23 -0700
Re: fledgling assembler programmer Thomas Koenig <tkoenig@netcologne.de> - 2023-03-22 06:49 +0000
Re: fledgling assembler programmer gah4 <gah4@u.washington.edu> - 2023-03-22 13:31 -0700
Re: fledgling assembler programmer Thomas Koenig <tkoenig@netcologne.de> - 2023-03-23 11:26 +0000
Re: fledgling assembler programmer gah4 <gah4@u.washington.edu> - 2023-03-24 14:17 -0700
Re: ancient PL/I, was fledgling assembler programmer drb@ihatespam.msu.edu (Dennis Boone) - 2023-03-24 22:51 +0000
Re: ancient PL/I, was fledgling assembler programmer gah4 <gah4@u.washington.edu> - 2023-03-24 22:44 -0700
Re: ancient PL/I, was fledgling assembler programmer gah4 <gah4@u.washington.edu> - 2023-03-25 01:27 -0700
Re: fledgling assembler programmer Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2023-03-25 13:07 +0100
Re: fledgling assembler programmer George Neuner <gneuner2@comcast.net> - 2023-03-25 20:54 -0400
Portable Software (was: fledgling assembler programmer) Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2023-03-28 09:21 +0200
Re: Portable Software (was: fledgling assembler programmer) arnold@freefriends.org (Aharon Robbins) - 2023-03-28 14:42 +0000
Re: configuguration tools, Portable Software (was: fledgling assembler programmer) Kaz Kylheku <864-117-4973@kylheku.com> - 2023-03-29 18:33 +0000
Re: configuguration tools, Portable Software (was: fledgling assembler programmer) arnold@skeeve.com (Aharon Robbins) - 2023-03-31 07:10 +0000
Re: configuguration tools, Portable Software (was: fledgling assembler programmer) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2023-04-02 08:56 +0000
Re: Portable Software Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2023-03-31 07:49 +0200
Re: Portable Software anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2023-04-02 10:04 +0000
Re: Portable Software Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2023-04-05 11:23 +0200
Re: Portable Software anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2023-04-05 16:30 +0000
Re: Portable Software Kaz Kylheku <864-117-4973@kylheku.com> - 2023-04-06 08:35 +0000
Re: Portable Software Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2023-04-07 15:35 +0200
Re: Portable Software Thomas Koenig <tkoenig@netcologne.de> - 2023-04-08 18:25 +0000
Re: Portable Software (was: fledgling assembler programmer) gah4 <gah4@u.washington.edu> - 2023-03-28 14:21 -0700
Re: Portable Software (was: fledgling assembler programmer) Kaz Kylheku <864-117-4973@kylheku.com> - 2023-03-29 18:34 +0000
Re: Portable Software (was: fledgling assembler programmer) George Neuner <gneuner2@comcast.net> - 2023-03-28 17:26 -0400
Re: Portable python Software (was: fledgling assembler programmer) George Neuner <gneuner2@comcast.net> - 2023-03-29 13:50 -0400
Re: Portable Software (was: fledgling assembler programmer) gah4 <gah4@u.washington.edu> - 2023-03-29 11:27 -0700
Re: Portable Software (was: fledgling assembler programmer) Thomas Koenig <tkoenig@netcologne.de> - 2023-03-31 05:19 +0000
Re: Portable Software (was: fledgling assembler programmer) gah4 <gah4@u.washington.edu> - 2023-03-31 12:41 -0700
Re: Portable Software (was: fledgling assembler programmer) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2023-03-31 16:34 +0000
Re: fledgling assembler programmer arnold@skeeve.com (Aharon Robbins) - 2023-03-23 13:56 +0000
Re: fledgling assembler programmer anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2023-03-22 10:02 +0000
Re: fledgling assembler programmer David Brown <david.brown@hesbynett.no> - 2023-03-22 14:39 +0100
Re: fledgling assembler programmer George Neuner <gneuner2@comcast.net> - 2023-03-22 14:54 -0400
csiph-web