Author Topic: Who has tried exotic languages on CPC? (BCPL, Lisp, Prolog...)  (Read 536 times)

0 Members and 1 Guest are viewing this topic.

Offline m_dr_m

  • 464 Plus
  • *****
  • Posts: 305
  • Country: gb
  • http://orgams.wikidot.com/
    • OrgaMS!
    • Awards
I've asked the question for Forth (https://www.cpcwiki.eu/forum/programming/forth-on-cpc/),
yet I'd love to collect feedback on any language existing on CPC (possibly via CP/M).


I wish to have a good overview of advantages and flaws of each, and answer questions such as:
* Does it support float / real numbers?
* Does it have graphics libraries?
* Does it general bytecode? z80?
* What is the speed for a given set of reference programs (e.g. the 3d torus here: https://64nops.wordpress.com/2021/01/21/rosetta-sugar-japprends-a-coder-avec-mon-cpc/)
* How good the environment is?
* How likely are you to recommend it at family dinner or to a random coworker?


Nb: @Nemo59 has produced some nice videos about Turbo Pascal 3 (https://www.youtube.com/channel/UCT3OneEDDPSVUIIOO1iEcMA/videos).
I believe knowledge in written form would be easier to consolidate and share, though!



like
0
No reactions

Offline Targhan

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.417
  • Country: fr
    • Awards
One (dumb? unrealistic?) idea, what about creating a new language? Since you know the primary target (Z80), what about a language that would abstract most of it while allowing some syntax that wouldn't completely hide the low level? You could borrow ideas of any other language you like and incorporate them in your new language, without having to care about compatibility or any undesired inheritance.
like
0
No reactions
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

Offline m_dr_m

  • 464 Plus
  • *****
  • Posts: 305
  • Country: gb
  • http://orgams.wikidot.com/
    • OrgaMS!
    • Awards
That's a splendid and unrealistic idea I've been working on for years.


Trying to be a bit more pragmatic now, and reaching this goal via incremental, independent and useful (i.e. self-sufficient) [/size][size=78%]sub-tasks :[/size]


  • - The IR (intermediate representation) -> Z80 compilation phase should be independent from the front-end language. (*)
  • - I'm laying down the fondation of a nuclear-core-included standard library, which could be useful cross-languages.
  • - Planning the IDE integration (todo #101 http://orgams.wikidot.com/todos#toc4)
  • - Any work on memory manager would be useful as well
  • - Modules/import in Orgams should ease inter-operability between ASM and the language.
  • Etc.
(*) On the other hand, the more declarative/functional a language is, the easier it is to apply platform-specific optimisation.
like
0
No reactions

Offline Targhan

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.417
  • Country: fr
    • Awards
The IR (intermediate representation) -> Z80 compilation phase should be independent from the front-end language.
I don't quite agree with that, for a target as specific as a new CPC language. *If* I had to create a language on CPC, I would try to abstract some things (access to registers, stack, etc.), but not much more. Else any existing solution would be good enough (and none is, in my opinion).
Sometimes, trying to be too clever traps you into a very complex solution, which ultimately will not see the light of day.
like
0
No reactions
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

Offline reidrac

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.026
  • Country: gb
  • Trying to gamedev!
    • index.php?action=treasury
    • usebox.net
    • Awards
May be you already know it, or is not what you are looking for, but I find Millfork very interesting: https://github.com/KarolS/millfork

TL;DR: A middle-level programming language targeting 6502-based, 8080-based, Z80-based and 6809-based microcomputers.

I like the middle-level idea, but when I've been toying with the idea of designing my own language (I may or may have not started already heh), I thought about going as higher level as possible with a more or less optimized runtime. Kind of expressiveness vs quantity of code, and with a functional twist.

Obviously Millfork as a clear advantage and it is basically that it exists and can be used NOW.

EDIT: apologies, this is a cross-compiler, and not a compiler running on a CPC. If what you want is it to run on a CPC, I don't think you can beat Forth.
« Last Edit: 16:24, 25 July 21 by reidrac »
like
0
No reactions
Released The Return of Traxtor, Golden Tail, Magica, The Dawn of Kernel, Kitsune`s Curse and Brick Rick for the CPC.

If you like my games and want to show some appreciation, you can always buy me a coffee.

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 2.836
  • Country: de
  • Reincarnation of TFM
    • FutureOS - The quickest OS for the CPC and Plus
    • Awards
One ... idea, what about creating a new language?
Great idea! And we could have a 'frontend' for all CPC-OS (native, SymbOS, CP/M+, etc...).

Would be nice to have:
- Possibility to include Z80 code
- Use memory management
- Simple + powerful syntax
like
0
No reactions
http://futureos.de --> Get the revolutionary FutureOS (Update: 2021.01.24)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.07.15)