4 ms·
> This version of Tiny Pascal was written in North Star BASIC. According to the articles, it implemented most of Pascal with some limitations: > - the GOTO s
by vanderZwan 8y ago
> This version of Tiny Pascal was written in North Star BASIC. According to the articles, it implemented most of Pascal with some limitations:
> - the GOTO statement was missing
> - only integers and one-dimensional integer arrays were allowed for variable types
> - there was no “structured data type, pointer type, user defined type, and file type”
> - parameters were passed by value only
> On the other hand, Tiny Pascal did add some extensions to standard Pascal, such as else clauses in case statements.
I would imagine this to severely hamper creating efficient programs in the language, especially in those resource-limited days. What kind of programs were written in Tiny Pascal?
- narag 8y agoI had never heard of this implementation. The feature set doesn't seem so crazy for those days. It's trivial to implement two dimensional arrays. And you can pass indexes as parameters. I remember programming with Spectrum and the first PCs and sometimes you needed to look up some table for the ordinal of a character or sprite. I remember poking bytes in the 8086 screen buffer, was it B800?
- vanderZwan 8y agoIt's more the lack of structs and pointers, and mandatory pass-by-value that makes me wonder
- badsectoracula 8y agoKeep in mind that this was an article in a magazine and the entire compiler had to fit in there, so that was also a limiting factor. Here is the BYTE issue with the compiler (the p-code vm is given in the previous issue): https://archive.org/stream/byte-magazine-1978-10/1978_10_BYTE_03-10_Chess_for_the_Microcomputer#page/n35/mode/2up https://archive.org/stream/byte-magazine-1978-10/1978_10_BYT... If you take a look at the BASIC source of the compiler and the Pascal source example, i think it becomes immediately obvious that the latter was a little nicer to write stuff in regardless of limitations :-P. EDIT: the compiler also seems to support direct memory access via a special `MEM[expression]` syntax (implemented in lines 3130 for reading and 4640 for writing). Considering that those computers allowed free reign over the entire system via memory accesses, this alone would be enough to implement more complex stuff wrapped around nice functions.
- nils-m-holm 8y agoB800h on VGA, EGA, and CGA boards, B000h on MDA and Hercules.