[HN Gopher] UgBASIC - An isomorphic BASIC language compiler for ...
___________________________________________________________________
UgBASIC - An isomorphic BASIC language compiler for retrocomputers
Author : reaperducer
Score : 49 points
Date : 2023-04-02 10:05 UTC (12 hours ago)
(HTM) web link (ugbasic.iwashere.eu)
(TXT) w3m dump (ugbasic.iwashere.eu)
| DougMerritt wrote:
| Ok, that's cool, but what does it mean for a Basic language
| compiler to be isomorphic?
| mysterydip wrote:
| I was curious as well. Apparently in this context: IT IS
| "ISOMORPHIC" because it guarantees that the translation into
| machine code is done in the way closest to the execution
| target, REGARDLESS OF WHICH IT IS.
| https://retroprogramming.iwashere.eu/midres_library:isomorph...
| sedatk wrote:
| What does that even mean?
| marcodiego wrote:
| So a BASIC compiler with back-ends for multiple
| architectures/platforms?
|
| Interesting challenge/dream: make something like this (for
| computers of that era) that is able to compile itself.
| DougMerritt wrote:
| Reading through all of that, they're saying that they avoid a
| jungle of ifdefs to support multiple similar architectures,
| and they say the way to this is "isomorphism", which is
| supposed to be the opposite of abstraction.
|
| Ok I get the gist, but no examples; how do they achieve that?
| A different page gives a list of supported calls, which seems
| to make it clear that what they did was a (probably a good
| job of) factorization of the problem domain into a set of
| standardized library calls [1] that model the abilities of
| the entire set of architectures closely. Applications/games
| can then use that library without #ifdef'ing for different
| architectures and still get highly efficient results.
|
| Very clever, but of course they don't claim that their
| approach generalizes to very different architectures, like
| say X11 on RISC-V or something.
|
| [1] https://retroprogramming.iwashere.eu/midres_library:funct
| ion...
| somat wrote:
| just curious about your example X11 on riscv, if asked, my
| naive answer would have been X11 is mature, stable, well
| tested code and would run on risc-v without too much
| trouble
| DougMerritt wrote:
| The point is that their "isomorphic" graphics library
| generalizes over only the typical capabilities of early
| 1980s 8-bit systems with sprites etc. X11, Wayland etc
| have a thousand times as much capability.
|
| Their solution is possibly an elegant solution to their
| problem space, without the ability to generalize much
| further than that. As far as I can see from the material.
|
| In the link I gave, the names of the library functions,
| and shortness of that list, suggests that all by itself.
| somesortofsystm wrote:
| This is cute but I'd rather get the energy into the 8-bit Unity
| project:
|
| https://8bit-unity.com/
|
| Not just because I've got all of these machines in my collection,
| but also because the 8-bit Hub, which is a bit of hardware that
| allows all of these machines to get on the Internet, play
| multiplayer games, etc. - IS AWESOME!
|
| Not to discourage those who want to build isomorphic translators.
| Just that, there are other projects of this ilk which are a step
| beyond ..
| behringer wrote:
| Just installed and am playing with this. Actually there are
| very few compilers of this ilk, particularly for my preferred
| platform on the CoCo.
|
| In fact, I know of no BASIC compiler with a modern IDE that
| outputs 6809 assembly to a disk file for running on that
| machine. I can use old compilers that aren't supported anymore,
| but this is the only modern BASIC for the CoCo. I bet that's
| also true for many of the other platforms ugbasic support.
|
| And considering once I'm done with my CoCo project it's very
| likely to work with other platforms with little to no changes,
| and the whole thing is open source, this is an amazing
| project!!
| snvzz wrote:
| >This is cute but I'd rather get the energy into the 8-bit
| Unity project:
|
| Unless I am missing something, 8-bit Unity is not even Open
| Source.
|
| Not supporting. No.
| behringer wrote:
| Sorry if this is spammy but I run a BASIC discord for all
| variants here
|
| https://discord.gg/Sm2UBQqB9u
|
| Jump in especially if you've had a chance to work in ugbasic to
| chat about it.
| bitwize wrote:
| It reminds me of Turbo Rascal Syntax Error:
| https://lemonspawn.com/turbo-rascal-syntax-error-expected-bu...
| joshu wrote:
| this looks amazing, thank you
___________________________________________________________________
(page generated 2023-04-02 23:01 UTC)