Re: New release of LSP server; LSP clients for Emacs and VSCodium available

2022-08-08 Thread adriano
Il giorno dom, 07/08/2022 alle 16.42 -0700, Aleix Conchillo FlaquƩ ha
scritto:



> The plan is to make it easy for everyone on macOS to hack on Guile
> using
> either Emacs or VSCode.
> 
> Aleix


The possibility to work with Guile with VSCode would nothing short than
revolutionary



Re: New release of LSP server; LSP clients for Emacs and VSCodium available

2022-08-08 Thread Ricardo G. Herdt



Cool, many thanks Aleix! If I update the server, do I have to do 
something in order to it get it updated on homebrew, like adding some 
tag? Or you simply track the current master branch?


Ricardo



Am 08.08.2022 01:42 schrieb Aleix Conchillo FlaquƩ:

Fantastic, thank you! I just packaged both scheme-json-rpc (as
guile-json-rpc) and scheme-lsp-server (as guile-lsp-server) for
homebrew-guile (https://github.com/aconchillo/homebrew-guile [5]).
Tests and executable seem to work (or not fail) but I haven't really
tried it yet. The plan is to make it easy for everyone on macOS to
hack on Guile using either Emacs or VSCode.

Aleix

On Fri, Aug 5, 2022 at 1:08 PM Ricardo G. Herdt 
wrote:


Short update:

there was a problem concerning automatic installation of server,
and
some other bugs. In case you tried to install the server or the
clients
and it didn't work properly, please try out the new versions
available.

Ricardo

Am 04.08.2022 00:32 schrieb Ricardo G. Herdt:

Hi all,

I want to announce some releases related to LSP support for

Scheme,

focusing on Guile.

* scheme-lsp-server 0.1.3

Besides bug fixes, here what's new:

- scheme-lsp-server now selectively uses geiser code when doable.

This

is especially the case for Guile. The goal is to encourage myself

and

contributors to help improving Geiser, and directly benefit of

its

development. Obviously only Scheme code is reused.

- previously scheme-lsp-server assumed an LSP client would fire

up a

REPL and let the user interact with it, showing LSP-related infos
depending on things the user actively loaded. This is not the way

most

LSP-based tools expect an LSP-server to work though, and has some
downsides:

+ implementing a client is not as trivial as it should be,

since

the developer has to figure out a way to integrate a REPL into

the

IDE/editor, and send commands to it to "guide" the LSP server.
+ developers used to other LSP-based tools can be surprised to

see

that they have to actively load stuff in order to get meaningful
feedback from the IDE.

Therefore I did a major design change: scheme-lsp-server now does

it's

best to automatically compile/import files opened by the user
(including dependencies). This makes the task of implementing an

LSP

client much easier: just launch guile-lsp-server and call it a

day. I

added some notes regarding creating new LSP clients for other
editors/IDE's:





https://codeberg.org/rgherdt/scheme-lsp-server#creating-an-lsp-client

[1]


One important note: for now, the LSP server needs to "see"

library

definitions in order to compile and import needed libraries. See




https://codeberg.org/rgherdt/scheme-lsp-server/#user-content-known-issues

[2].


* emacs-lsp-scheme 0.1.0 (available on MELPA)

The first versions of emacs-lsp-scheme had a custom REPL (based

on

Emacs' built-in scheme support) that was connected to the LSP

server.

Following the changes to the LSP server, I decoupled the
emacs-lsp-scheme from the REPL. This seems to be a regression at
first, but the idea is that one can simply use "run-scheme" to

launch

a REPL, and this does not interfere with the LSP server. For

deeper

integration of Guile and Emacs, Geiser is still the way to go.
See the README file for instructions on how to configure it:
https://codeberg.org/rgherdt/emacs-lsp-scheme [3]

* vscode-scheme-lsp 0.2.1 (available for VSCodium on open-vsx)

Following the same ideas of emacs-lsp-scheme, this extension now
focuses on basically providing LSP support. The user can install

other

extensions to get syntax highlighting and an integrated REPL.
Here the code: https://codeberg.org/rgherdt/vscode-scheme-lsp

[4].


I only tested all this on Debian buster. Please let me know if

you

experience any trouble installing/using it.

Regards,

Ricardo G. Herdt



Links:
--
[1] 
https://codeberg.org/rgherdt/scheme-lsp-server#creating-an-lsp-client
[2] 
https://codeberg.org/rgherdt/scheme-lsp-server/#user-content-known-issues

[3] https://codeberg.org/rgherdt/emacs-lsp-scheme
[4] https://codeberg.org/rgherdt/vscode-scheme-lsp
[5] https://github.com/aconchillo/homebrew-guile




[ANN] Guile SRFI-146 0.1.0 released (purely functional data structures)

2022-08-08 Thread pukkamustard


Hello Guilers,

I'm pleased to announce Guile SRFI-146 0.1.0:
https://inqlab.net/git/guile-srfi-146.git/tag/?h=v0.1.0

Guile SRFI 146 provides bindings to SRFI 146 (Mappings). SRFI 146
provides two purely functional mapping data structures: One that uses an
ordering of keys and another that uses a hash on keys. The
implementations use red-black trees and hash array mapped tries (HAMT).

The library re-uses the SRFI sample implementation with some minor Guile
specific fixes and optimiztions. The SRFI test suite has also been
ported.

The package has been submitted to Guix so you should be able to start
some purely functional hacking very soon
(https://issues.guix.gnu.org/57055).

Bug reports, fixes and patches are very welcome.

Best regards,
pukkamustard





Re: [ANN] Guile SRFI-146 0.1.0 released (purely functional data structures)

2022-08-08 Thread Blake Shaw
Nice, thank you! Hope its accepted into guix quickly :)

On Mon, Aug 8, 2022, 15:56 pukkamustard  wrote:

>
> Hello Guilers,
>
> I'm pleased to announce Guile SRFI-146 0.1.0:
> https://inqlab.net/git/guile-srfi-146.git/tag/?h=v0.1.0
>
> Guile SRFI 146 provides bindings to SRFI 146 (Mappings). SRFI 146
> provides two purely functional mapping data structures: One that uses an
> ordering of keys and another that uses a hash on keys. The
> implementations use red-black trees and hash array mapped tries (HAMT).
>
> The library re-uses the SRFI sample implementation with some minor Guile
> specific fixes and optimiztions. The SRFI test suite has also been
> ported.
>
> The package has been submitted to Guix so you should be able to start
> some purely functional hacking very soon
> (https://issues.guix.gnu.org/57055).
>
> Bug reports, fixes and patches are very welcome.
>
> Best regards,
> pukkamustard
>
>
>
>