Recent

Author Topic: Amigo programming language  (Read 12100 times)

my_only_lonely

  • New member
  • *
  • Posts: 8
Re: Amigo programming language
« Reply #15 on: December 23, 2024, 10:11:14 am »
That is indeed great news for us old PaxCompiler customer! ::)

wfbhappy

  • New member
  • *
  • Posts: 8
Re: Amigo programming language
« Reply #16 on: December 24, 2024, 11:30:29 am »
PaxCompiler   Seems to be gone

paxscript

  • New Member
  • *
  • Posts: 20
Re: Amigo programming language
« Reply #17 on: December 25, 2024, 10:41:55 am »
Amigo v0.91 has been released.

New: type ranges, dynamic arrays, and ranged arrays (Pascal-like arrays):

www.amigo-lang.com/ranges_and_arrays.htm

Thanks.

A.

maurog

  • New Member
  • *
  • Posts: 39
Re: Amigo programming language
« Reply #18 on: December 27, 2024, 10:09:20 am »
Hello, are you planning to release the source code of Amigo-Ide?
Will there be a unit importer like with PaxScripter?
Best regards,
Maurog.
And yes, Lazarus is definitely a beast – it comes with everything you need, but sometimes also more than you expect. 😅 (Chat-GPT)

paxscript

  • New Member
  • *
  • Posts: 20
Re: Amigo programming language
« Reply #19 on: December 27, 2024, 10:54:01 am »
Hello, are you planning to release the source code of Amigo-Ide?

Yes, it will be included. IDE is written in Delphi and uses TSynEdit. I guess it will be easy to port IDE code to Lazarus/FPC, but it is not ready for now.

Will there be a unit importer like with PaxScripter?

Latest Delphi versions provide good RTTI support, so I was not planning the importer. As for the Lazarus/FPC, I use

{$IFDEF FPC}
type
  TRTTIField = Pointer;
  TRTTIIndexedProperty = Pointer;
{$ENDIF}

because I did not find the correspondence Delphi-FPC for these classes. I think I have to create it.

A.

my_only_lonely

  • New member
  • *
  • Posts: 8
Re: Amigo programming language
« Reply #20 on: December 27, 2024, 12:44:48 pm »
But surely it will support manually registerheader just like PaxCompiler? You can't import everything using RTTI.

paxscript

  • New Member
  • *
  • Posts: 20
Re: Amigo programming language
« Reply #21 on: December 27, 2024, 04:02:17 pm »
But surely it will support manually registerheader just like PaxCompiler? You can't import everything using RTTI.

Global functions and variables could be wrapped as members of a static class. But I'll consider RegisterHeader too.

A.

maurog

  • New Member
  • *
  • Posts: 39
Re: Amigo programming language
« Reply #22 on: December 28, 2024, 11:16:42 am »
Thank you, Alexander.
When the time comes, I will gladly use Amigo-Pascal and the Amigo-IDE as a Runtime Scripter in my project (LazCAD).

Best regards,
Maurog.
And yes, Lazarus is definitely a beast – it comes with everything you need, but sometimes also more than you expect. 😅 (Chat-GPT)

my_only_lonely

  • New member
  • *
  • Posts: 8
Re: Amigo programming language
« Reply #23 on: January 11, 2025, 02:14:20 pm »
May be you should consider making a plugin for VSCode, just like Delphi did?
You only need to implement LSP, it could support code completion and debugging(Although Delphi only makes code completion feature in VSCode).
For this, you do not need to develope a full IDE, and it has much better support for cross platform.
Almost all modern language has a LSP plugin for VSCode.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 12025
  • FPC developer.
Re: Amigo programming language
« Reply #24 on: January 11, 2025, 02:21:17 pm »
{$IFDEF FPC}
type
  TRTTIField = Pointer;
  TRTTIIndexedProperty = Pointer;
{$ENDIF}

because I did not find the correspondence Delphi-FPC for these classes. I think I have to create it.

D2010/DXE2 (D2010 introduced it, DXE2 made it default) extended RTTI is only in trunk FPC. The types you mention are in unit RTTI in trunk

paxscript

  • New Member
  • *
  • Posts: 20
Re: Amigo programming language
« Reply #25 on: January 11, 2025, 02:34:46 pm »
May be you should consider making a plugin for VSCode, just like Delphi did?
You only need to implement LSP, it could support code completion and debugging(Although Delphi only makes code completion feature in VSCode).
For this, you do not need to develope a full IDE, and it has much better support for cross platform.
Almost all modern language has a LSP plugin for VSCode.

Yes, of course. Now, I'm working on AmigoBasic and AmigoPascal, and I would like to add AmigoLisp as well, so IDE will include support for 4 languages with possibilities of cross-language programming. I'll release updated Amigo IDE using Windows VCL first, then I was planning the use of TMS components for the multi-platform debugger, and after that, I'll add VSCode version of IDE .

paxscript

  • New Member
  • *
  • Posts: 20
Re: Amigo programming language
« Reply #26 on: January 11, 2025, 02:46:27 pm »
{$IFDEF FPC}
type
  TRTTIField = Pointer;
  TRTTIIndexedProperty = Pointer;
{$ENDIF}

because I did not find the correspondence Delphi-FPC for these classes. I think I have to create it.

D2010/DXE2 (D2010 introduced it, DXE2 made it default) extended RTTI is only in trunk FPC. The types you mention are in unit RTTI in trunk

I'm using Lazarus v3.6 and FPC v3.2.2 but I have not found these types there. The RTTI unit is described as experimental, and these types are absent there.
« Last Edit: January 11, 2025, 03:40:58 pm by paxscript »

PascalDragon

  • Hero Member
  • *****
  • Posts: 5851
  • Compiler Developer
Re: Amigo programming language
« Reply #27 on: January 11, 2025, 03:34:43 pm »
I'm using Lazarus v3.6 and FPC v3.2.2 but I have not found these types there. The RTTI unit is described as experimental, and these types are absent there.

As marcov wrote these types only exist in main, because the corresponding information is generated by the compiler only in main as well. So even if they would exist in 3.2.2 it wouldn't help you anything as there is no information to provide them.

paxscript

  • New Member
  • *
  • Posts: 20
Re: Amigo programming language
« Reply #28 on: January 11, 2025, 03:43:14 pm »
I'm using Lazarus v3.6 and FPC v3.2.2 but I have not found these types there. The RTTI unit is described as experimental, and these types are absent there.

As marcov wrote these types only exist in main, because the corresponding information is generated by the compiler only in main as well. So even if they would exist in 3.2.2 it wouldn't help you anything as there is no information to provide them.

Thanks.

paxscript

  • New Member
  • *
  • Posts: 20
Re: Amigo programming language
« Reply #29 on: January 18, 2025, 06:03:23 am »
I have added Amigo grammar to the website:

www.amigo-lang.com/amigo_grammar.htm

Thanks.

A.

 

TinyPortal © 2005-2018