Recent

Author Topic: LCL bindings for Go?  (Read 2914 times)

NilBr

  • Newbie
  • Posts: 2
LCL bindings for Go?
« on: May 26, 2021, 09:10:24 pm »
Has anyone tried to do this?

I was thinking in use LCL as GUI for Go programs...

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 9437
  • FPC developer.
Re: LCL bindings for Go?
« Reply #1 on: May 26, 2021, 09:23:19 pm »
I think that is more a question for a Go forum. 

NilBr

  • Newbie
  • Posts: 2
Re: LCL bindings for Go?
« Reply #2 on: May 26, 2021, 09:39:03 pm »
I agree, and I port it elsewhere. But maybe someone here have some insights about...

PascalDragon

  • Hero Member
  • *****
  • Posts: 3170
  • Compiler Developer
Re: LCL bindings for Go?
« Reply #3 on: May 27, 2021, 09:04:26 am »
I agree, and I port it elsewhere. But maybe someone here have some insights about...

It will involve having to provide a flat, C-like API for the LCL. And using the form designer won't be trivially possible, because it relies on the RTTI and resource systems provided by FPC which Go does not provide. That's all I can say about that topic.

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 9437
  • FPC developer.
Re: LCL bindings for Go?
« Reply #4 on: May 27, 2021, 09:22:20 am »
That already exists, afaik based on work done by Felipe. I assumed OP was hinting on that. In case it is not:

It is called "govcl", https://github.com/ying32/govcl

« Last Edit: May 27, 2021, 11:49:29 am by marcov »

MarkMLl

  • Hero Member
  • *****
  • Posts: 2840
Re: LCL bindings for Go?
« Reply #5 on: May 27, 2021, 11:43:18 am »
I was thinking in use LCL as GUI for Go programs...

Just to clarify something: the LCL is a collection of classes etc., many of which have RTTI (Run-Time Type Information); it is not in itself an IDE.

Lazarus is the corresponding IDE, which relies on RTTI etc. provided by the LCL.

Some brave souls drive the LCL directly without using the Lazarus IDE's RAD facilities (i.e. the form designer etc.), but basically the Lazarus IDE, LCL and Object Pascal (plus obviously things like the debugger) are deeply interdependent.

I think what you're really asking is where can you find an IDE that supports Go, and offers something approaching the richness of the Lazarus+LCL RAD combination. As others have said, that really is something which you'd be better discussing with the Go community (or, for that matter, any other self-styled "modern language" community): if they have nothing comparable to offer I assure you that I sympathise.

MarkMLl
Turbo Pascal v1 on CCP/M-86, multitasking with LAN and graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

PascalDragon

  • Hero Member
  • *****
  • Posts: 3170
  • Compiler Developer
Re: LCL bindings for Go?
« Reply #6 on: May 27, 2021, 01:31:37 pm »
That already exists, afaik based on work done by Felipe. I assumed OP was hinting on that. In case it is not:

It is called "govcl", https://github.com/ying32/govcl

Gotta admit, that is impressive. :o Especially as aside from Go there seems to be (initial) support Nim and Rust as well...

dbannon

  • Hero Member
  • *****
  • Posts: 1470
    • tomboy-ng, a rewrite of the classic Tomboy
Re: LCL bindings for Go?
« Reply #7 on: May 27, 2021, 01:49:35 pm »
It is called "govcl", https://github.com/ying32/govcl

Wow, what some people are willing to do to avoid having to type "begin" and "end" !

Lazarus 2, Linux (and reluctantly Win10, OSX)
My Project - https://github.com/tomboy-notes/tomboy-ng

Leledumbo

  • Hero Member
  • *****
  • Posts: 8352
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: LCL bindings for Go?
« Reply #8 on: June 06, 2021, 01:02:55 pm »
That already exists, afaik based on work done by Felipe. I assumed OP was hinting on that. In case it is not:

It is called "govcl", https://github.com/ying32/govcl
In every top of each binding:
Quote
The code is automatically generated by the GenlibLcl tool.
This guy knows how to work smart.

 

TinyPortal © 2005-2018