Re: [ANN] MQTT-over-websocket for GNU Artanis

2025-02-06 Thread Mikael Djurfeldt
Nice! :-) Thanks Den ons 5 feb. 2025 16:11Nala Ginrut skrev: > > Hi folks! > Here we have a brand new GNU Artanis plugin to support > MQTT-over-websocket. It is designed to compliant with the async > non-blocing I/O of GNU Artanis server-core. And taking advantage of the > WebSocket of GNU Arta

Re: Where is the list of Guile maintainers?

2024-12-20 Thread Mikael Djurfeldt
On Fri, Dec 20, 2024 at 4:12 PM Maxime Devos via General Guile related discussions wrote: > >According to the manual Ludovic Courtès and Andy Wingo are the current > maintainers. Although it hasn’t been updated in 5 years. > > https://www.gnu.org/software/guile/manual/html_node/A-Scheme-of-Many-M

Re: [Compiler Tower] A better Python plan

2024-12-14 Thread Mikael Djurfeldt
Artanis webapp, it booted successfully, however COVID broke all > my plans, I almost forgot I have it... > https://gitlab.com/NalaGinrut/guile-lua-rebirth > > Best regards. > > On Sat, Dec 14, 2024, 19:48 Mikael Djurfeldt wrote: > >> Being able to script in Python in Guile would

Re: [Compiler Tower] A better Python plan

2024-12-14 Thread Mikael Djurfeldt
Being able to script in Python in Guile would be the strongest yet showcase for multi-language support in Guile and would be an additional strong argument for Guile in Emacs. Den lör 14 dec. 2024 11:23Mikael Djurfeldt skrev: > While this is interesting, I'd like to have support for Python proper

Re: [Compiler Tower] A better Python plan

2024-12-14 Thread Mikael Djurfeldt
While this is interesting, I'd like to have support for Python proper, with support for Python C interface such that it is possible to load Python extensions. Stefan Israelsson Tampe previously implemented Python in Guile https://gitlab.com/python-on-guile/python-on-guile/ I've tested it and it's

Re: sorted?

2024-12-09 Thread Mikael Djurfeldt
Den mån 9 dec. 2024 21:36 skrev: > On Mon, Dec 09, 2024 at 08:45:33PM +0100, Mikael Djurfeldt wrote: > > On Mon, Dec 9, 2024 at 8:23 PM wrote: > > > > > (lambda (p1 p2) (< (car p1) (car p2))) > > > > > > Then you'd need a corresponding equ

Re: sorted?

2024-12-09 Thread Mikael Djurfeldt
On Mon, Dec 9, 2024 at 8:45 PM Mikael Djurfeldt wrote: > On Mon, Dec 9, 2024 at 8:23 PM wrote: > >> (lambda (p1 p2) (< (car p1) (car p2))) >> >> Then you'd need a corresponding equal, because otherwise you >> end up with things which are neither l

Re: sorted?

2024-12-09 Thread Mikael Djurfeldt
On Mon, Dec 9, 2024 at 8:23 PM wrote: > (lambda (p1 p2) (< (car p1) (car p2))) > > Then you'd need a corresponding equal, because otherwise you > end up with things which are neither less nor equal nor greater, > i.e. the ordering isn't total, which is bad for sorting :) > `sort' assumes that

Re: sorted?

2024-12-09 Thread Mikael Djurfeldt
On Mon, Dec 9, 2024 at 7:59 PM wrote: > > (= a b) is equivalent to (not (or (< a b) (> a b))) > > Yes, but for that, you have to know what "=" is. Is it eq? Is it > eqv? Is it equal? (yeah, lame pun with question marks). Or is it > (see below)? > It's equal in the sense of (not (or (< a b) (> a

Re: sorted?

2024-12-09 Thread Mikael Djurfeldt
("two kinds of sort") On Mon, Dec 9, 2024 at 7:32 PM Mikael Djurfeldt wrote: > On Mon, Dec 9, 2024 at 2:11 PM wrote: > >> On Mon, Dec 09, 2024 at 01:58:08PM +0100, Mikael Djurfeldt wrote: >> >> [...] >> >> > No problem---I'm too. >>

Re: sorted?

2024-12-09 Thread Mikael Djurfeldt
On Mon, Dec 9, 2024 at 2:11 PM wrote: > On Mon, Dec 09, 2024 at 01:58:08PM +0100, Mikael Djurfeldt wrote: > > [...] > > > No problem---I'm too. > > > > Think about it this way: > > > > How would you sort this list of numbers: 7 1 3 8 2 1 4 ? >

Re: sorted?

2024-12-09 Thread Mikael Djurfeldt
On Mon, Dec 9, 2024 at 1:58 PM Mikael Djurfeldt wrote: > On Mon, Dec 9, 2024 at 1:37 PM wrote: > >> On Mon, Dec 09, 2024 at 01:20:48PM +0100, Mikael Djurfeldt wrote: >> > On Mon, Dec 9, 2024 at 12:43 PM wrote: >> > >> > > On Mon, Dec 09, 2024 a

Re: sorted?

2024-12-09 Thread Mikael Djurfeldt
On Mon, Dec 9, 2024 at 1:37 PM wrote: > On Mon, Dec 09, 2024 at 01:20:48PM +0100, Mikael Djurfeldt wrote: > > On Mon, Dec 9, 2024 at 12:43 PM wrote: > > > > > On Mon, Dec 09, 2024 at 11:37:33AM +, Ricardo G. Herdt wrote: > > > > Hi Jeremy, > > >

Re: sorted?

2024-12-09 Thread Mikael Djurfeldt
On Mon, Dec 9, 2024 at 12:43 PM wrote: > On Mon, Dec 09, 2024 at 11:37:33AM +, Ricardo G. Herdt wrote: > > Hi Jeremy, > > > > Am 09.12.2024 11:21 schrieb Jeremy Korwin-Zmijowski: > > > The reference says : > > > > > >Scheme Procedure: *sorted?* items less > > >C Function: *scm_sorted_

Re: Keywords in define-method

2024-11-26 Thread Mikael Djurfeldt
I just committed a module (oop goops keyword-formals) for users who prefer not to switch between define-method and define-method*. If you do (use-modules (oop goops) (oop goops keyword-formals)) you'll get a define-method which takes keyword formals. Best regards, Mikael

Re: Keywords in define-method

2024-11-26 Thread Mikael Djurfeldt
Sorry for all spam, but I realize that R6RS does this better: (import (rename (except (oop goops) define-method) (define-method* define-method))) Maybe we should have a #:rename ((ORIG . SEEN) ...) in the Guile native module system? Or perhaps we should gradually move over to R6RS? Best regards,

Re: Keywords in define-method

2024-11-25 Thread Mikael Djurfeldt
Den tis 26 nov. 2024 00:51Mikael Djurfeldt skrev: > On Fri, Nov 22, 2024 at 1:20 PM wrote: > >> ...which I think in your version, not having to use define-method* >> feels more elegant/GOOPSy to me, as it's all overloads/generics, >> but I have no strong opionion on this. >> > > There's actually

Keywords in define-method

2024-11-25 Thread Mikael Djurfeldt
On Fri, Nov 22, 2024 at 1:20 PM wrote: > ...which I think in your version, not having to use define-method* > feels more elegant/GOOPSy to me, as it's all overloads/generics, > but I have no strong opionion on this. > There's actually a secret to what I have committed: define-method* *is* the d

Re: Keywords in GOOPS methods v3

2024-11-25 Thread Mikael Djurfeldt
I just pushed this to Savannah. On Mon, Nov 25, 2024 at 11:28 AM Mikael Djurfeldt wrote: > This is the third attempt at introducing keyword aware methods in GOOPS. > > What is new in v3 is that keyword arguments and default parameters to > keyword arguments are handled correctl

Keywords in GOOPS methods v3

2024-11-25 Thread Mikael Djurfeldt
This is the third attempt at introducing keyword aware methods in GOOPS. What is new in v3 is that keyword arguments and default parameters to keyword arguments are handled correctly when using (next-method). Now only those keyword arguments actually present in a call get forwarded to the next-met

Re: Keywords in GOOPS methods v2

2024-11-24 Thread Mikael Djurfeldt
Ah... I forgot to complete parse-keyword-formals, which is currently only rudimentary and doesn't compose the correct argument list for (next-method). There will be a version 3... On Sun, Nov 24, 2024 at 3:43 PM Mikael Djurfeldt wrote: > Guile maintainers might want to consider if w

Re: Keywords in GOOPS methods v2

2024-11-24 Thread Mikael Djurfeldt
Guile maintainers might want to consider if we should time this kind of change in the API with a particular release. For my part, I think we could just add it. On Sun, Nov 24, 2024 at 3:40 PM Mikael Djurfeldt wrote: > This is my second attempt at introducing keyword aware methods in GO

Keywords in GOOPS methods v2

2024-11-24 Thread Mikael Djurfeldt
This is my second attempt at introducing keyword aware methods in GOOPS. I was split but finally decided to go with keeping keyword non-aware define-method and method and introducing keyword aware new syntax method* and define-method*. Arguments are: 1. It preserves simplicity in method and defin

Re: Keywords in GOOPS methods

2024-11-24 Thread Mikael Djurfeldt
(It's (define-method (f #:key foo) ...).) This is a valid point. Certainly there should be unambiguous rules so that we know which method should be selected. (I planned to examine this aspect before applying my patch to Guile. I was just eager to share what I had done in order to collect opinions

Re: Keywords in GOOPS methods

2024-11-23 Thread Mikael Djurfeldt
Hi Maxime, Well, these particular examples aren't valid since GOOPS doesn't allow type specifiers for keyword arguments. (It's the same in CLOS.) Type dispatch is done *only* on the required arguments. Best regards, Mikael On Sat, Nov 23, 2024 at 4:31 PM Maxime Devos wrote: > >Any opinions on

Re: Keywords in GOOPS methods

2024-11-22 Thread Mikael Djurfeldt
e in this recommendation is 90%, given that the Guile precedent is a strong argument for following suit. 4o On Fri, Nov 22, 2024 at 1:29 PM Mikael Djurfeldt wrote: > Thanks! > > See responses to Tomas. > > On Fri, Nov 22, 2024 at 1:20 PM wrote: > >> Mikael D

Re: Keywords in GOOPS methods

2024-11-22 Thread Mikael Djurfeldt
Thanks! See responses to Tomas. On Fri, Nov 22, 2024 at 1:20 PM wrote: > Mikael Djurfeldt writes: > > Hello, > > > That was elegant. :-) > > :) > > > Nope---haven't seen it. (Or, at least I do not remember it.) > > > > Maybe I should hav

Re: Keywords in GOOPS methods

2024-11-22 Thread Mikael Djurfeldt
Hi Tomas, Thank you for your feedback. Answers below. On Fri, Nov 22, 2024 at 12:46 PM Tomas Volf <~@wolfsden.cz> wrote: > I do find the symmetry between define-method/define-method* and > define/define* pleasing. > Yes, I guess we are free to form GOOPS in our own style regardless of CLOS. >

Re: Keywords in GOOPS methods

2024-11-21 Thread Mikael Djurfeldt
at is best: Having a define-method* or having the functionality in define-method itself? Best regards, Mikael On Thu, Nov 21, 2024 at 11:00 PM wrote: > Mikael Djurfeldt writes: > > Hi Mikael, > > > Since there are no comments, I'm inclined to apply this patch. I will do &

Re: Keywords in GOOPS methods

2024-11-21 Thread Mikael Djurfeldt
(I will of course add proper documentation in the manual, etc.) On Thu, Nov 21, 2024 at 9:33 PM Mikael Djurfeldt wrote: > Since there are no comments, I'm inclined to apply this patch. I will do > that on Sunday if there are no comments before that. > > Maybe I should first

Re: Keywords in GOOPS methods

2024-11-21 Thread Mikael Djurfeldt
e, Nov 19, 2024 at 5:41 PM Mikael Djurfeldt wrote: > Hi all, > > I've implemented support for keyword arguments (corresponding to define* > and lambda*) in GOOPS. The functionality is similar to that of CLOS (which > also has keyword in methods) in that dispatch is not done on

Re: Guile barebone backend fundamentals

2024-11-21 Thread Mikael Djurfeldt
Not entirely sure what you are asking for, but have you looked at chapter 9 of the reference manual "Guile Implementation"? Best regards, Mikael On Thu, Nov 21, 2024 at 6:28 PM Marius via General Guile related discussions wrote: > Good evening, > > > On the summer holidays I've read part of the

Re: GNU Artanis-1.0.0 released [stable]

2024-11-20 Thread Mikael Djurfeldt
Congratulations! :-) On Wed, Nov 20, 2024 at 3:04 PM Nala Ginrut wrote: > > GNU Artanis is a modern web application framework for Scheme. > > Features: > > GPLv3+ & LGPLv3+ > - Very lightweight - easy to hack and learn for newbies. > - Support JSON/CSV/XML/SXML. > - A complete web-server impleme

Keywords in GOOPS methods

2024-11-19 Thread Mikael Djurfeldt
Hi all, I've implemented support for keyword arguments (corresponding to define* and lambda*) in GOOPS. The functionality is similar to that of CLOS (which also has keyword in methods) in that dispatch is not done on the keyword part. You can find the changes in the goops-keyword branch at https:

Re: [ANN] guile-mqtt-0.2.0 released

2024-11-17 Thread Mikael Djurfeldt
ew install guile-mqtt > > On Tue, Nov 12, 2024 at 1:17 AM Mikael Djurfeldt > wrote: > > > > Guile MQTT provides bindings for the libmosquitto MQTT client > > library. The bindings are written in > > [GOOPS](https://www.gnu.org/software/guile/manual/html_node/GOOPS.html)

[ANN] guile-mqtt-0.2.0 released

2024-11-11 Thread Mikael Djurfeldt
Guile MQTT provides bindings for the libmosquitto MQTT client library. The bindings are written in [GOOPS](https://www.gnu.org/software/guile/manual/html_node/GOOPS.html) and rely on lower-level bindings created by NYACC directly and automatically from mosquitto.h. Changes compared to v0.1.0: * A

Re: [ANN] guile-mqtt-0.1.1 released

2024-11-10 Thread Mikael Djurfeldt
* a tarball: https://github.com/mdjurfeldt/guile-mqtt/releases/download/v0.1.1/guile-mqtt-0.1.1.tar.gz * the git repository: https://github.com/mdjurfeldt/guile-mqtt <https://github.com/mdjurfeldt/guile-mqqt> On Sun, Nov 10, 2024 at 9:43 PM Mikael Djurfeldt wrote: > Guile MQTT

[ANN] guile-mqtt-0.1.1 released

2024-11-10 Thread Mikael Djurfeldt
Guile MQTT provides bindings for the libmosquitto MQTT client library. The bindings are written in GOOPS (https://www.gnu.org/software/guile/manual/html_node/GOOPS.html) and rely on lower-level bindings created by NYACC directly and automatically from mosquitto.h. This release adds support for new

Re: Mqtt support in guile?

2024-11-09 Thread Mikael Djurfeldt
/mdjurfeldt/guile-mqtt Hope that this hasn't already created a lot of trouble. Best regards, Mikael On Sat, Nov 9, 2024 at 6:56 PM Alan Wedel wrote: > Thanks a lot, I will definitely check it out! > > > On November 9, 2024 9:50:41 AM CST, Mikael Djurfeldt > wrote: > >&

Re: [ANN] guile-mqtt-0.1.0 released

2024-11-09 Thread Mikael Djurfeldt
Sorry for the trouble this may have already caused, but the repository is of course: https://github.com/mdjurfeldt/guile-mqtt On Sat, Nov 9, 2024 at 4:49 PM Mikael Djurfeldt wrote: > Guile MQTT provides bindings for the libmosquitto MQTT client > library. The bindings are written in

Re: Mqtt support in guile?

2024-11-09 Thread Mikael Djurfeldt
Hi Alan, In another message, I just released guile-mqqt, as you might have seen: https://github.com/mdjurfeldt/guile-mqqt Best regards, Mikael On Thu, Oct 31, 2024 at 3:25 AM Alan Wedel wrote: > I have been working on a controller that uses a microcontroller to read > some sensors and publish

[ANN] guile-mqtt-0.1.0 released

2024-11-09 Thread Mikael Djurfeldt
Guile MQTT provides bindings for the libmosquitto MQTT client library. The bindings are written in GOOPS (https://www.gnu.org/software/guile/manual/html_node/GOOPS.html) and rely on lower-level bindings created by NYACC directly and automatically from mosquitto.h. The bindings align with GOOPS sty

Re: Setting variables in declarative modules

2024-11-01 Thread Mikael Djurfeldt
One additional comment regarding this: The first definition in your example, Tommi, isn't required. The order of the definitions don't matter as long as a variable reference isn't required to compute the value being defined. In your case, the variable references aren't resolved until the procedure

Re: Mqtt support in guile?

2024-11-01 Thread Mikael Djurfeldt
BTW, I did: (mosquitto_message_callback_set mosq (procedure->pointer void receive-message (list '* '* '*))) Is it correct to pass '* as argument type for the struct mosquitto_message pointer (3rd arg)? On Fri, Nov 1, 2024 at 4:08 PM Mikael Djurfeldt wrote: > Thanks!

Re: Mqtt support in guile?

2024-11-01 Thread Mikael Djurfeldt
(let ((msg (make-struct-mosquitto_message* message)) > >> (size (cdata-ref msg '* 'payloadsize)) > >> (payload (cdata-ref msg '* 'payload)) > >> (pointer->string payload size))) > >> > >> > >> On 10/31/2

Re: Mqtt support in guile?

2024-10-31 Thread Mikael Djurfeldt
Hi Matt, This is very nice indeed! :-) I got a small client working, but I found the unpacking of values in the message callback function a bit cumbersome. I now have: (define (pointer->struct-mosquitto_message pointer) (let* ((size (ctype-size struct-mosquitto_message)) (bvec (point

Re: call/cc does not return a value

2024-09-13 Thread Mikael Djurfeldt
> 0 > 1 > 2 > $1 = "finish" > > thank for you help , without you i would not have look so closely to this > macro written many years ago and used in the Guile,Racket and Kawa version of > Scheme+... > > Damien > > On Fri, Sep 13, 2024 at 10:25 AM Mikae

Re: call/cc does not return a value

2024-09-13 Thread Mikael Djurfeldt
Hi Damien, Maybe I'm missing something, but shoudn't it be: (define-syntax for (lambda (stx) (syntax-case stx () ((kwd (init test incrmt) body ...) (with-syntax ((BREAK (datum->syntax (syntax kwd) 'break)) (CONTINUE (datum->syntax (syntax kwd) 'continue)))

Re: Advice on ST-Object data-structure setup

2024-04-20 Thread Mikael Djurfeldt
other. On Sat, Apr 20, 2024 at 11:49 AM Mikael Djurfeldt wrote: > Hi Ken, > > Have you looked at Guile's OOP system GOOPS? > > Chances are that you would get many required mechanisms for free. You get > classes that can be instantiated. You could possibly implement messages

Re: Advice on ST-Object data-structure setup

2024-04-20 Thread Mikael Djurfeldt
Hi Ken, Have you looked at Guile's OOP system GOOPS? Chances are that you would get many required mechanisms for free. You get classes that can be instantiated. You could possibly implement messages as generic functions. The generic messages/generic functions already support keyword arguments, et

Re: Guile Hoot v0.2.0 released!

2023-11-30 Thread Mikael Djurfeldt
Sounds great! Congratulations! :-) On Thu, Nov 30, 2023 at 9:09 PM Thompson, David wrote: > Hey Guilers! > > On behalf of the Spritely Institute, I'm happy to announce that Guile > Hoot v0.2.0 has been released! Hoot is a Scheme to WebAssembly > compiler backend for Guile, which means you can no

Re: access slot of a class

2023-11-21 Thread Mikael Djurfeldt
(Sorry, when writing "macro systems", I meant "object orientation systems".) On Tue, Nov 21, 2023 at 11:31 AM Mikael Djurfeldt wrote: > OK, now I see what you are asking. You want the slots to be available as > local variables in the lexical scope of the method. The an

Re: access slot of a class

2023-11-21 Thread Mikael Djurfeldt
OK, now I see what you are asking. You want the slots to be available as local variables in the lexical scope of the method. The answer is that that is not possible "out of the box". I guess it *could* be made available through some contortionist coding using a combination of GOOPS and the syntax-c

Re: access slot of a class

2023-11-20 Thread Mikael Djurfeldt
Well, if you want to set a slot explicitly using the set! form, and this is a good way to access a slot, you can use an accessor (which internally is a pair of a getter and a setter): (define-class a () (x #:accessor x)) (define o (make a)) (set! (x o) 1) (x o) -> 1 I guess you already know tha

Re: export from an imported module

2023-10-30 Thread Mikael Djurfeldt
ometimes cause re-exporting the same variable from multiple > modules... > > On Sun, Oct 29, 2023 at 11:06 PM Mikael Djurfeldt > wrote: > > > > #:re-export > > > > Den sön 29 okt. 2023 23:05Mikael Djurfeldt skrev: > >> > >> Look at #re-e

Re: export from an imported module

2023-10-29 Thread Mikael Djurfeldt
#:re-export Den sön 29 okt. 2023 23:05Mikael Djurfeldt skrev: > Look at #re-export here: > > > https://www.gnu.org/software/guile/manual/html_node/Creating-Guile-Modules.html > > Den sön 29 okt. 2023 21:55Damien Mattei skrev: > >> i noticed that in Guile if i use a module in a module i can not

Re: export from an imported module

2023-10-29 Thread Mikael Djurfeldt
Look at #re-export here: https://www.gnu.org/software/guile/manual/html_node/Creating-Guile-Modules.html Den sön 29 okt. 2023 21:55Damien Mattei skrev: > i noticed that in Guile if i use a module in a module i can not export > the definitions of the used module. It is possible in Racket but in

Re: TTN

2023-10-21 Thread Mikael Djurfeldt
That very sad. He wasn't that old, was he? Thien-Thi has been around in the Guile community since the early days. Best regards, Mikael On Tue, Oct 17, 2023 at 3:11 PM Mike Gran wrote: > I heard that Thien-Thi Nguyen passed away last year. This was > recently reported on the emacs and gnu-comm

Re: Generating "independent" random numbers

2023-10-18 Thread Mikael Djurfeldt
On Wed, Oct 4, 2023 at 12:22 AM Zelphir Kaltstahl < zelphirkaltst...@posteo.de> wrote: > Aye, sorry for that typo. Yes, my goal is normal distributed floats > (leaving > aside the finite nature of the computer and floats). > Maybe I'm missing something from just skimming this long discussion, but

Re: setting breakpoints at the repl

2023-09-20 Thread Mikael Djurfeldt
Hi Jose, Has there been any progress on this? I just installed the latest gesier and geiser-guile packages from melpa and run them under Emacs 29.1 and guile HEAD. What I would like to be able to do is to set a breakpoint in a procedure and then get up the geiser-dbg buffer when the breakpoint is

Re: Guile-OSC: Open Sound Control library for Guile

2023-05-12 Thread Mikael Djurfeldt
Nice! Sorry, but I couldn't help it: What happens if there's a garbage collection in the middle of an arpeggio? :)) On Thu, May 11, 2023 at 8:58 PM Thomas White wrote: > Hi everyone, > > I just wanted to mention a new project, Guile-OSC, which connects Guile > to Open Sound Control (http://open

Re: local eval

2023-04-26 Thread Mikael Djurfeldt
(However, I suspect that you didn't *really* mean (quote var) in your original code, or? If you didn't, then of course my simpler syntax-rules macro isn't what you want.) On Wed, Apr 26, 2023 at 7:20 PM Mikael Djurfeldt wrote: > How about: > > (define-syntax ev

Re: local eval

2023-04-26 Thread Mikael Djurfeldt
How about: (define-syntax eval-var (syntax-rules () ((_ var) var))) ? Then you don't need to import (ice-9 local-eval) and re-export things from there. Just for elucidation: The reason why we chose the syntax-case macro system for Guile was that it *both* gives you hygiene *and* quite a

Re: GPT-4 knows Guile! :)

2023-03-18 Thread Mikael Djurfeldt
On Sat, Mar 18, 2023 at 1:00 PM Mikael Djurfeldt wrote: > On Sat, Mar 18, 2023 at 11:53 AM James Crake-Merani > wrote: > >> On 18/03/2023 08:29, to...@tuxteam.de wrote: >> >> > My take is that such potentially society-shattering technologies >> > don'

Re: GPT-4 knows Guile! :)

2023-03-18 Thread Mikael Djurfeldt
On Sat, Mar 18, 2023 at 11:53 AM James Crake-Merani wrote: > On 18/03/2023 08:29, to...@tuxteam.de wrote: > > > My take is that such potentially society-shattering technologies > > don't belong in the hands of corporations which have no choice > > but to maximize their return on investment. But p

Re: GPT-4 knows Guile! :)

2023-03-18 Thread Mikael Djurfeldt
f errors even if i try to correct > them by > >> hand... > >> > >> Welcome to DrRacket, version 8.7 [cs]. > >> Language: racket/gui, with debugging; memory limit: 8192 MB. > >> . . send: no such method > >>method name: register-event-cal

Re: GPT-4 knows Guile! :)

2023-03-17 Thread Mikael Djurfeldt
Can you write a Guile Scheme program which displays a bouncing ball? As an AI language model, I cannot create a full graphical program directly within this text-based environment. However, I can provide you with an example of a simple bouncing ball simulation using the Guile Scheme programming lan

GPT-4 knows Guile! :)

2023-03-17 Thread Mikael Djurfeldt
Mikael: Let's write a scheme program which randomly makes names by combining two words from a list. To write a Scheme program that generates random names by combining two words from a list, you can use the following code: scheme (import (scheme random)) ; Import random number generation function

Re: map-par slower than map

2022-10-25 Thread Mikael Djurfeldt
A piece of background on par-map: When I introduced par-map et al the only ambition was to have simple language constructs to invoke parallelism. The use case I had in mind was course grained parallelism where each piece of work is somewhat substantial. Back then, a thread was launched for each pi

Re: map-par slower than map

2022-10-25 Thread Mikael Djurfeldt
Also, I would believe that any crashes in this context are neither due to the futures implementation nor par-map et al. I would think that crashes are due to the Guile basic thread support itself. On Tue, Oct 25, 2022 at 11:07 AM Mikael Djurfeldt wrote: > A piece of background on par-

Re: Curiosity: Microkernel implemented in Guile ?

2022-06-22 Thread Mikael Djurfeldt
To my knowledge, the answer is no. No such attempt has been made. The Guile language is essentially Scheme. Scheme lacks various constraints, with regard to typing, memory management, etc, needed for it to be compiled to predictable and near maximally efficient machine code, something which is nee

Re: guile 2.0 and slib build procedure: cache bug?

2022-03-11 Thread Mikael Djurfeldt
Hi Greg! The procedure module-export-all! was introduced in 2.0.1. It appears that the guile.init (which is distributed with slib, not guile) which you are using requires guile 2.0.1. Best regards, Mikael On Fri, Mar 11, 2022 at 2:56 AM Greg Troxel wrote: > > Yes, I know guile 2.0 is old. Ho

Re: Ideas for making Guile easier to approach

2022-02-10 Thread Mikael Djurfeldt
On Thu, Feb 10, 2022 at 3:34 PM Leo Butler wrote: > ...eventually resulting in the Emacsification of the entire GNU > system. Indeed, this is the reason for the naming of the many Guile > modules that live in the ‘ice-9’ namespace, a nod to the fictional > substance in Kurt Vonnegut’s novel, Cat’

Re: Ideas for making Guile easier to approach

2022-02-10 Thread Mikael Djurfeldt
Den ons 9 feb. 2022 21:12Christine Lemmer-Webber skrev: > > ice-9 -> guile > -- > > I think that ice-9 is a weird namespace for "guile's standard library" > but it's what we have for historical reasons. Still I would have > preferred that namespace simply be "guile", so we have (guil

Re: Newbie thoughts on Guile Hall + Guix

2022-02-06 Thread Mikael Djurfeldt
reedom a lot, >> because mixing these is so hard that software which might be otherwise >> reproducible and usable by everyone becomes only deployable by "expert" >> devops teams deploying ad-hoc container black boxes who are themselves >> very overloaded an

Re: Newbie thoughts on Guile Hall + Guix

2022-02-05 Thread Mikael Djurfeldt
It would also be nice if we could have a Guile package repository. Den lör 5 feb. 2022 21:11Christine Lemmer-Webber skrev: > Hello! > > It's been a while since Guile was my main hacking environment; I've been > returning to it, and one of the nicest things to change about its > ecosystem is the

Re: Need help embedding Guile

2021-12-23 Thread Mikael Djurfeldt
Den ons 22 dec. 2021 18:37Mikael Djurfeldt skrev: > Hi, > > I think you should give up the idea to GC collect all objects. Due to the > GC being of the conservative type, that can't be guaranteed to happen. Any > attempt to wait until all objects are collected runs the risk of hanging > indefinit

Re: Need help embedding Guile

2021-12-22 Thread Mikael Djurfeldt
Hi, I think you should give up the idea to GC collect all objects. Due to the GC being of the conservative type, that can't be guaranteed to happen. Any attempt to wait until all objects are collected runs the risk of hanging indefinitely. Here's a suggestion for a less "heavy-handed" approach th

Re: Difference between pipes and ports

2021-08-10 Thread Mikael Djurfeldt
Hi Zelphir! A port is a scheme level concept which represents input and output devices. Stdin, stdout and stderr are file descriptors which is an OS level concept. A pipe is also an OS level concept. It is a communication stream between two processes. In the OS, it is represented as a file descr

Re: GOOPS question

2021-05-10 Thread Mikael Djurfeldt
> (vector-set! gva 10 7) > (describe gva) > #< 10bd85c80> is an instance of class > Slots are: > v = #(1 2 3 4 5 # # # > # # 7 # # > # # # # # > # #) > end = 10 > {gva[7] ← 9} > = 9 > {gva[7]} > = 9 > (vector-ref gva 7) > = 9 > {gva[7] ← gva[3]} >

Re: GOOPS question

2021-05-02 Thread Mikael Djurfeldt
!' > > > > ;;; > > > /Volumes/Mojave/Users/mattei/Dropbox/git/library-FunctProg/gvector.scm:31:2: > > warning: possibly unbound variable `orig:vector-ref' > > > > ;;; compiled > > > /Users/mattei/.cache/guile/ccache/2.2-LE-8-3.A/Volumes/Mojave/U

Re: GOOPS question

2021-05-02 Thread Mikael Djurfeldt
g/gvector.scm.go > > scheme@(guile-user)> (define c2 (make )) > > scheme@(guile-user)> c2 > > $1 = #< 109e82500> > > scheme@(guile-user)> (describe c2) > > #< 109e82500> is an instance of class > > Slots are: > > v = #(# # # # > #

Re: GOOPS question

2021-04-30 Thread Mikael Djurfeldt
Preferably, the dispatch should be done as much as possible during compile time such that it takes zero time during runtime. On Fri, Apr 30, 2021 at 4:50 PM Mikael Djurfeldt wrote: > Generic method dispatch is *supposed* to be fast. It was fast once upon a > time. We should fix that. >

Re: GOOPS question

2021-04-30 Thread Mikael Djurfeldt
wrapper function in > which we short cut for > python/sheme internal types and if they do not match use the > generic method. > > > On Fri, Apr 30, 2021 at 1:57 PM Mikael Djurfeldt > wrote: > >> On Fri, Apr 30, 2021 at 1:11 AM Damien Mattei >> wrote: >>

Re: GOOPS question

2021-04-30 Thread Mikael Djurfeldt
On Fri, Apr 30, 2021 at 1:11 AM Damien Mattei wrote: > for example in the doc there is: > (define-class () r i #:name "Complex") > > seems superclass is of no use > Well, it certainly *is* of use in the sense that methods operating on will immediately start to also accept as an argument. Tha

Re: GOOPS question

2021-04-30 Thread Mikael Djurfeldt
The superclass question is a matter of taste. First note that in CLOS-like objects systems, such as GOOPS, methods are not components of classes but it is rather the set of operations = generics/methods around a type which define its behavior. Roughly speaking, the only things directly tied to the

Re: GOOPS question

2021-04-30 Thread Mikael Djurfeldt
Hi! I attach a template which you could build on. Please post your class when you're done. :) Best regards, Mikael On Fri, Apr 30, 2021 at 1:11 AM Damien Mattei wrote: > hi, > i want to create a growable vector class in Guile, > such as std::vector or python list, > first i do not know if it e

Re: Python-on-guile

2021-04-25 Thread Mikael Djurfeldt
c f) >>> (let/ec x (f x >>> >>> Actually lead to similar speeds as python3. >>> >>> >>> >>> On Sat, Apr 24, 2021 at 1:26 PM Stefan Israelsson Tampe < >>> stefan.ita...@gmail.com> wrote: >>> >>>>

Re: Python-on-guile

2021-04-24 Thread Mikael Djurfeldt
(I should perhaps add that my script doesn't benchmark the object system but rather loops, conditionals and integer arithmetic.) Den fre 23 apr. 2021 17:00Mikael Djurfeldt skrev: > Hi, > > Yesterday, Andy committed new code to the compiler, some of which > concerned skipping some arity checking.

Re: Python-on-guile

2021-04-24 Thread Mikael Djurfeldt
1 8:00 AM, Mikael Djurfeldt wrote: > > Hi, > > > > Yesterday, Andy committed new code to the compiler, some of which > concerned > > skipping some arity checking. > > > > Also, Stefan meanwhile committed something called "reworked object > system&quo

Python-on-guile

2021-04-23 Thread Mikael Djurfeldt
Hi, Yesterday, Andy committed new code to the compiler, some of which concerned skipping some arity checking. Also, Stefan meanwhile committed something called "reworked object system" to his python-on-guile. Sorry for coming with unspecific information (don't have time to track down the details

Re: Python on guile v1.2.3.7

2021-04-14 Thread Mikael Djurfeldt
Hi Stefan, Could it be that you have not committed the file: language/python/module/re/flag-parser.scm ? Best regards, Mikael On Sun, Apr 11, 2021 at 11:23 AM Stefan Israelsson Tampe < stefan.ita...@gmail.com> wrote: > Hi, > > I released a new tag of my python code that basically is a snapsho

Re: Normal distribution random numbers

2020-06-04 Thread Mikael Djurfeldt
ut wasn't sure, so thanks >> for confirming that as well. >> >> So basically the tails are wrong, but to draw a number in the area where >> the tails are wrong is so unlikely, that it would take that much time, as >> stated in your number example, if I understand th

Re: Normal distribution random numbers

2020-06-04 Thread Mikael Djurfeldt
7;t sure, so thanks for > confirming that as well. > > So basically the tails are wrong, but to draw a number in the area where > the tails are wrong is so unlikely, that it would take that much time, as > stated in your number example, if I understand this correctly(?/.) > > Rega

Re: Normal distribution random numbers

2020-06-04 Thread Mikael Djurfeldt
Hi Zelphir, random:normal actually uses the Box-Muller-transform. But since it uses 64 bits, we only loose values that would be generated once in 2*10^20. That is, if we could draw one billion numbers per second, such values would be drawn once in 7000 years. So, we would start noticing an anomaly

Re: Scheme: quicker process handling (RESTART 1) etc

2020-03-10 Thread Mikael Djurfeldt
Hi! This is the Guile user list. However, Guile is an implementation of scheme, just as MIT Scheme. You probably want to ask this question on the *Geiser* user list. Best regards, Mikael D Den tis 10 mars 2020 19:22Nicholas Papadonis skrev: > I'm using Guile to interface with MIT Scheme in E

Re: mailmam, web bridge, forum, p2p (was: Diversification)

2019-10-25 Thread Mikael Djurfeldt
It would be nice to be able to run scheme code in the client: https://github.com/google/schism They mention "the Webassembly GC proposal". :) Maybe some day, the Guile compiler could emit WASM? That would mean supporting multiple VMs. Mikael Den tors 24 okt. 2019 18:16Nala Ginrut skrev: > I'

Re: Diversification [ branched from Re: conflicts in the gnu project now affect guile]

2019-10-23 Thread Mikael Djurfeldt
Florian, would Nala Ginrut's Artanis be a useful framework to base a bulletin board system on? https://web-artanis.com/ Den ons 23 okt. 2019 16:15pelzflorian (Florian Pelz) < pelzflor...@pelzflorian.de> skrev: > On Wed, Oct 23, 2019 at 03:47:21PM +0200, to...@tuxteam.de wrote: > > On Wed, Oct 23

Re: Stepping back up as a co-maintainer

2019-10-17 Thread Mikael Djurfeldt
I think we should trust what Mark says and not second guess him. Helping or being friend with someone is not among the worst crimes on my list. Den tors 17 okt. 2019 11:28zx spectrumgomas skrev: > I'm a simple Guile user and I hope I'm wrong, but I think Mark H weaver are > saying half-thruth h

Re: Maintainership changes: many thanks to Mark!

2019-09-12 Thread Mikael Djurfeldt
Mark, Ludovic and Andy, Warm regards and many, many thanks for your great work! Mikael Den ons 11 sep. 2019 09:57Andy Wingo skrev: > Hi all, > > After many years working on Guile and more than 5 years in a > maintainer role, Mark Weaver has decided to step down. Taking over > from him and rem

  1   2   >