home.social

#guilescheme — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #guilescheme, aggregated by home.social.

fetched live
  1. The challenge of writing portable Scheme code is that every implementation has myriad little idiosyncrasies. Today I discovered the #MITScheme tries to read #Emacs -style file header comments (for example ;; -*- encoding: utf-8 -*-) and this can cause the reader to crash for some reason. I am not sure if it is a bug or a feature, but it did throw me off for a whole day while I tried to figure out why MIT Scheme wouldn’t compile a library file.

    I also happen to be hung-up on a bug in #Guile 3.0.11. It seems to me like the optimizer is emitting bad code, because I get a SEGFAULT on an expression that #Gauche has no trouble executing. I am still working on a bug report, and trying to figure out a work-around.

    #tech #software #Scheme #Schemacs #SchemeLang #R7RS #Lisp #GuileScheme #GaucheScheme

  2. The challenge of writing portable Scheme code is that every implementation has myriad little idiosyncrasies. Today I discovered the #MITScheme tries to read #Emacs -style file header comments (for example ;; -*- encoding: utf-8 -*-) and this can cause the reader to crash for some reason. I am not sure if it is a bug or a feature, but it did throw me off for a whole day while I tried to figure out why MIT Scheme wouldn’t compile a library file.

    I also happen to be hung-up on a bug in #Guile 3.0.11. It seems to me like the optimizer is emitting bad code, because I get a SEGFAULT on an expression that #Gauche has no trouble executing. I am still working on a bug report, and trying to figure out a work-around.

    #tech #software #Scheme #Schemacs #SchemeLang #R7RS #Lisp #GuileScheme #GaucheScheme

  3. The challenge of writing portable Scheme code is that every implementation has myriad little idiosyncrasies. Today I discovered the #MITScheme tries to read #Emacs -style file header comments (for example ;; -*- encoding: utf-8 -*-) and this can cause the reader to crash for some reason. I am not sure if it is a bug or a feature, but it did throw me off for a whole day while I tried to figure out why MIT Scheme wouldn’t compile a library file.

    I also happen to be hung-up on a bug in #Guile 3.0.11. It seems to me like the optimizer is emitting bad code, because I get a SEGFAULT on an expression that #Gauche has no trouble executing. I am still working on a bug report, and trying to figure out a work-around.

    #tech #software #Scheme #Schemacs #SchemeLang #R7RS #Lisp #GuileScheme #GaucheScheme

  4. The challenge of writing portable Scheme code is that every implementation has myriad little idiosyncrasies. Today I discovered the #MITScheme tries to read #Emacs -style file header comments (for example ;; -*- encoding: utf-8 -*-) and this can cause the reader to crash for some reason. I am not sure if it is a bug or a feature, but it did throw me off for a whole day while I tried to figure out why MIT Scheme wouldn’t compile a library file.

    I also happen to be hung-up on a bug in #Guile 3.0.11. It seems to me like the optimizer is emitting bad code, because I get a SEGFAULT on an expression that #Gauche has no trouble executing. I am still working on a bug report, and trying to figure out a work-around.

    #tech #software #Scheme #Schemacs #SchemeLang #R7RS #Lisp #GuileScheme #GaucheScheme

  5. I am starting to become very annoyed with #Guile Scheme because they are so far behind in providing some very important modern SRFIs.

    Of course I could implement these myself and submit a patch, but in the mean time I would have to wait for my patch to be accepted and distributed in the next Guile version. And while I waited I would have to just implement these SRFIs in my own source code for myself. I don’t have time, so I always end up just implementing the APIs that I need for my own project, usually as a wrapper around some other Guile API that does provide that functionality but in a non-standard way.

    For the past two years or so I have kept on running into issues caused by the fact that Guile does not provide SRFI-125 (hash tables) and SRFI-128 (comparators). Guile provides SRFI-69 (the old hash tables) but it doesn’t use comparators, and so the semantics for things like make-hash-table and alist->hash-table in Guile are not compatible with most other R7RS-compliant Scheme implementations. I keep having to go back and update various cond-expand statements to get around this. Some data structures are so fundamental to modern software that you just can’t do without them. Providing these SRFIs should really be a priority.

    Also the following would be really nice to have in Guile, like really soon:

    • SRFI-160: homogeneous numerical vectors, Guile only provides the older version of it, SRFI-4.
    • SRFI-170: POSIX API: Guile provides all of these APIs but not always in a way that follows SRFI-170.
    • SRFI-180: JSON, Guile provides all of these APIs but not fully compatible with SRFI-180.
    • SRFI-181: Custom ports, Guile provides similar features built-in but not in a way that follows SRFI-181.

    #tech #software #Lisp #SchemeLang #Scheme #R7RS #GuileScheme #FunctionalProgramming

  6. I am starting to become very annoyed with #Guile Scheme because they are so far behind in providing some very important modern SRFIs.

    Of course I could implement these myself and submit a patch, but in the mean time I would have to wait for my patch to be accepted and distributed in the next Guile version. And while I waited I would have to just implement these SRFIs in my own source code for myself. I don’t have time, so I always end up just implementing the APIs that I need for my own project, usually as a wrapper around some other Guile API that does provide that functionality but in a non-standard way.

    For the past two years or so I have kept on running into issues caused by the fact that Guile does not provide SRFI-125 (hash tables) and SRFI-128 (comparators). Guile provides SRFI-69 (the old hash tables) but it doesn’t use comparators, and so the semantics for things like make-hash-table and alist->hash-table in Guile are not compatible with most other R7RS-compliant Scheme implementations. I keep having to go back and update various cond-expand statements to get around this. Some data structures are so fundamental to modern software that you just can’t do without them. Providing these SRFIs should really be a priority.

    Also the following would be really nice to have in Guile, like really soon:

    • SRFI-160: homogeneous numerical vectors, Guile only provides the older version of it, SRFI-4.
    • SRFI-170: POSIX API: Guile provides all of these APIs but not always in a way that follows SRFI-170.
    • SRFI-180: JSON, Guile provides all of these APIs but not fully compatible with SRFI-180.
    • SRFI-181: Custom ports, Guile provides similar features built-in but not in a way that follows SRFI-181.

    #tech #software #Lisp #SchemeLang #Scheme #R7RS #GuileScheme #FunctionalProgramming

  7. I am starting to become very annoyed with #Guile Scheme because they are so far behind in providing some very important modern SRFIs.

    Of course I could implement these myself and submit a patch, but in the mean time I would have to wait for my patch to be accepted and distributed in the next Guile version. And while I waited I would have to just implement these SRFIs in my own source code for myself. I don’t have time, so I always end up just implementing the APIs that I need for my own project, usually as a wrapper around some other Guile API that does provide that functionality but in a non-standard way.

    For the past two years or so I have kept on running into issues caused by the fact that Guile does not provide SRFI-125 (hash tables) and SRFI-128 (comparators). Guile provides SRFI-69 (the old hash tables) but it doesn’t use comparators, and so the semantics for things like make-hash-table and alist->hash-table in Guile are not compatible with most other R7RS-compliant Scheme implementations. I keep having to go back and update various cond-expand statements to get around this. Some data structures are so fundamental to modern software that you just can’t do without them. Providing these SRFIs should really be a priority.

    Also the following would be really nice to have in Guile, like really soon:

    • SRFI-160: homogeneous numerical vectors, Guile only provides the older version of it, SRFI-4.
    • SRFI-170: POSIX API: Guile provides all of these APIs but not always in a way that follows SRFI-170.
    • SRFI-180: JSON, Guile provides all of these APIs but not fully compatible with SRFI-180.
    • SRFI-181: Custom ports, Guile provides similar features built-in but not in a way that follows SRFI-181.

    #tech #software #Lisp #SchemeLang #Scheme #R7RS #GuileScheme #FunctionalProgramming

  8. I am starting to become very annoyed with #Guile Scheme because they are so far behind in providing some very important modern SRFIs.

    Of course I could implement these myself and submit a patch, but in the mean time I would have to wait for my patch to be accepted and distributed in the next Guile version. And while I waited I would have to just implement these SRFIs in my own source code for myself. I don’t have time, so I always end up just implementing the APIs that I need for my own project, usually as a wrapper around some other Guile API that does provide that functionality but in a non-standard way.

    For the past two years or so I have kept on running into issues caused by the fact that Guile does not provide SRFI-125 (hash tables) and SRFI-128 (comparators). Guile provides SRFI-69 (the old hash tables) but it doesn’t use comparators, and so the semantics for things like make-hash-table and alist->hash-table in Guile are not compatible with most other R7RS-compliant Scheme implementations. I keep having to go back and update various cond-expand statements to get around this. Some data structures are so fundamental to modern software that you just can’t do without them. Providing these SRFIs should really be a priority.

    Also the following would be really nice to have in Guile, like really soon:

    • SRFI-160: homogeneous numerical vectors, Guile only provides the older version of it, SRFI-4.
    • SRFI-170: POSIX API: Guile provides all of these APIs but not always in a way that follows SRFI-170.
    • SRFI-180: JSON, Guile provides all of these APIs but not fully compatible with SRFI-180.
    • SRFI-181: Custom ports, Guile provides similar features built-in but not in a way that follows SRFI-181.

    #tech #software #Lisp #SchemeLang #Scheme #R7RS #GuileScheme #FunctionalProgramming

  9. (Reposting a blog post by @zyd copy-pasted in full from: this webpage)

    Can you Lisp without being strapped in to the Torment Nexus Machine?

    As of 2026-05-18 … sort of.

    Every Lisp, Scheme, and Lisp-adjacent project listed is a non-toy implementation that is at least somewhat active. When I first wrote this article (2026-03-12), most Lisps did not have a policy or even public stance on LLM contributions. In such cases I posted to their bug trackers or discussion lists to ask. Most maintainers kindly responded.

    Every link is either a document or issue stating the project’s LLM policy, or a link to an open issue. Roughly categorized according to how strongly for or against LLM contributions.

    If I’m missing a project that should be listed, lemme know.

    Strictly AgainstStrongly AgainstWeakly Against
    • Janet exception given for tests and bug reproductions
    • GNU CLISP against on a specific reading of copyright law
    • Emacs Lisp temporarily against LLMs, waiting for official policy
    • Hy maintainer recommends against LLM contributions, no actual policy
    Hesitantly AcceptingAcceptingUnknown

    #tech #software #Lisp #LispLang #SchemeLang #SchemeLang #GuileScheme #AI #LLM #LLMs #VibeCoding #AntiAI

  10. (Reposting a blog post by @zyd copy-pasted in full from: this webpage)

    Can you Lisp without being strapped in to the Torment Nexus Machine?

    As of 2026-05-18 … sort of.

    Every Lisp, Scheme, and Lisp-adjacent project listed is a non-toy implementation that is at least somewhat active. When I first wrote this article (2026-03-12), most Lisps did not have a policy or even public stance on LLM contributions. In such cases I posted to their bug trackers or discussion lists to ask. Most maintainers kindly responded.

    Every link is either a document or issue stating the project’s LLM policy, or a link to an open issue. Roughly categorized according to how strongly for or against LLM contributions.

    If I’m missing a project that should be listed, lemme know.

    Strictly AgainstStrongly AgainstWeakly Against
    • Janet exception given for tests and bug reproductions
    • GNU CLISP against on a specific reading of copyright law
    • Emacs Lisp temporarily against LLMs, waiting for official policy
    • Hy maintainer recommends against LLM contributions, no actual policy
    Hesitantly AcceptingAcceptingUnknown

    #tech #software #Lisp #LispLang #SchemeLang #SchemeLang #GuileScheme #AI #LLM #LLMs #VibeCoding #AntiAI

  11. (Reposting a blog post by @zyd copy-pasted in full from: this webpage)

    Can you Lisp without being strapped in to the Torment Nexus Machine?

    As of 2026-05-18 … sort of.

    Every Lisp, Scheme, and Lisp-adjacent project listed is a non-toy implementation that is at least somewhat active. When I first wrote this article (2026-03-12), most Lisps did not have a policy or even public stance on LLM contributions. In such cases I posted to their bug trackers or discussion lists to ask. Most maintainers kindly responded.

    Every link is either a document or issue stating the project’s LLM policy, or a link to an open issue. Roughly categorized according to how strongly for or against LLM contributions.

    If I’m missing a project that should be listed, lemme know.

    Strictly AgainstStrongly AgainstWeakly Against
    • Janet exception given for tests and bug reproductions
    • GNU CLISP against on a specific reading of copyright law
    • Emacs Lisp temporarily against LLMs, waiting for official policy
    • Hy maintainer recommends against LLM contributions, no actual policy
    Hesitantly AcceptingAcceptingUnknown

    #tech #software #Lisp #LispLang #SchemeLang #SchemeLang #GuileScheme #AI #LLM #LLMs #VibeCoding #AntiAI

  12. (Reposting a blog post by @zyd copy-pasted in full from: this webpage)

    Can you Lisp without being strapped in to the Torment Nexus Machine?

    As of 2026-05-18 … sort of.

    Every Lisp, Scheme, and Lisp-adjacent project listed is a non-toy implementation that is at least somewhat active. When I first wrote this article (2026-03-12), most Lisps did not have a policy or even public stance on LLM contributions. In such cases I posted to their bug trackers or discussion lists to ask. Most maintainers kindly responded.

    Every link is either a document or issue stating the project’s LLM policy, or a link to an open issue. Roughly categorized according to how strongly for or against LLM contributions.

    If I’m missing a project that should be listed, lemme know.

    Strictly AgainstStrongly AgainstWeakly Against
    • Janet exception given for tests and bug reproductions
    • GNU CLISP against on a specific reading of copyright law
    • Emacs Lisp temporarily against LLMs, waiting for official policy
    • Hy maintainer recommends against LLM contributions, no actual policy
    Hesitantly AcceptingAcceptingUnknown

    #tech #software #Lisp #LispLang #SchemeLang #SchemeLang #GuileScheme #AI #LLM #LLMs #VibeCoding #AntiAI

  13. Found out about this while i was scrolling through andy windo blog, #Wastrel compiles Wasm modules to C, and thence to native code. we can compile #guilescheme #hoot code to native code.

    codeberg.org/andywingo/wastrel

  14. Found out about this while i was scrolling through andy windo blog, #Wastrel compiles Wasm modules to C, and thence to native code. we can compile #guilescheme #hoot code to native code.

    codeberg.org/andywingo/wastrel

  15. Found out about this while i was scrolling through andy windo blog, #Wastrel compiles Wasm modules to C, and thence to native code. we can compile #guilescheme #hoot code to native code.

    codeberg.org/andywingo/wastrel

  16. Found out about this while i was scrolling through andy windo blog, #Wastrel compiles Wasm modules to C, and thence to native code. we can compile #guilescheme #hoot code to native code.

    codeberg.org/andywingo/wastrel

  17. What am I doing... Sitting here making an algorithem to automatically mount drives on guix...
    And I am more then half way there... using the out put from "lsblk -J" as a text object and some pasing shinanigans. All that's left is to find a way to get partition format outputted by something...

    With this I can also automate formating.

    #guixSystem #guix #GuileScheme #scheme

  18. @screwlisp @kentpitman I’m just reading up on the MIT-Scheme condition system. Recent efforts to standardize this are defined in SRFI-255: “Restarting conditions”.

    An older standards condition systems in Scheme was defined in SRFI-35: “Conditions”. And #Guile users can use the Guile implementation of SRFI-35 to make use of it.

    I wish I had known about this two weeks ago when we first started talking about it on the #LispyGopherClimate show, but better late than never, I guess.

    #tech #software #Lisp #CommonLisp #Scheme #SchemeLang #R7RS #MITScheme #Guile #GuileScheme

  19. @screwlisp @kentpitman I’m just reading up on the MIT-Scheme condition system. Recent efforts to standardize this are defined in SRFI-255: “Restarting conditions”.

    An older standards condition systems in Scheme was defined in SRFI-35: “Conditions”. And #Guile users can use the Guile implementation of SRFI-35 to make use of it.

    I wish I had known about this two weeks ago when we first started talking about it on the #LispyGopherClimate show, but better late than never, I guess.

    #tech #software #Lisp #CommonLisp #Scheme #SchemeLang #R7RS #MITScheme #Guile #GuileScheme

  20. @screwlisp @kentpitman I’m just reading up on the MIT-Scheme condition system. Recent efforts to standardize this are defined in SRFI-255: “Restarting conditions”.

    An older standards condition systems in Scheme was defined in SRFI-35: “Conditions”. And #Guile users can use the Guile implementation of SRFI-35 to make use of it.

    I wish I had known about this two weeks ago when we first started talking about it on the #LispyGopherClimate show, but better late than never, I guess.

    #tech #software #Lisp #CommonLisp #Scheme #SchemeLang #R7RS #MITScheme #Guile #GuileScheme

  21. @screwlisp @kentpitman I’m just reading up on the MIT-Scheme condition system. Recent efforts to standardize this are defined in SRFI-255: “Restarting conditions”.

    An older standards condition systems in Scheme was defined in SRFI-35: “Conditions”. And #Guile users can use the Guile implementation of SRFI-35 to make use of it.

    I wish I had known about this two weeks ago when we first started talking about it on the #LispyGopherClimate show, but better late than never, I guess.

    #tech #software #Lisp #CommonLisp #Scheme #SchemeLang #R7RS #MITScheme #Guile #GuileScheme

  22. The official steering committee of the Scheme programming language is calling a vote to replace themselves

    Quoting the memo:

    The outgoing Steering Committee was elected in 2009 and successfully oversaw the production and ratification of the R7RS small language report until 2013. Unfortunately, during the protracted initial development of the R7RS large language after that, it fell dormant.

    The current Scheme Working Group resolved in September 2025 to ask the Steering Commitee for a new election because it felt that after such long dormancy the outgoing Steering Committee was no longer able, as a group, to make and implement decisions effectively.

    The Scheme standardization process charter says, ‘The Steering Committee itself shall establish procedures for replacing its members.’ The outgoing Steering Committee unanimously decided to delegate this task to the current Working Group. The Working Group has very closely modelled the procedure to be used this time on the procedure used last time.

    The Working Group has written a statement to candidates and voters explaining what it hopes for in a new steering committee.

    Lobste.rs thread

    #tech #software #Scheme #SchemeLang #ProgrammingLanguage #R7RS #R7RSLarge #Lisp #FunctionalProgramming #Guile #GuileScheme #ChezScheme #ChickenScheme #GambitScheme #RacketLang #Racket

  23. The official steering committee of the Scheme programming language is calling a vote to replace themselves

    Quoting the memo:

    The outgoing Steering Committee was elected in 2009 and successfully oversaw the production and ratification of the R7RS small language report until 2013. Unfortunately, during the protracted initial development of the R7RS large language after that, it fell dormant.

    The current Scheme Working Group resolved in September 2025 to ask the Steering Commitee for a new election because it felt that after such long dormancy the outgoing Steering Committee was no longer able, as a group, to make and implement decisions effectively.

    The Scheme standardization process charter says, ‘The Steering Committee itself shall establish procedures for replacing its members.’ The outgoing Steering Committee unanimously decided to delegate this task to the current Working Group. The Working Group has very closely modelled the procedure to be used this time on the procedure used last time.

    The Working Group has written a statement to candidates and voters explaining what it hopes for in a new steering committee.

    Lobste.rs thread

    #tech #software #Scheme #SchemeLang #ProgrammingLanguage #R7RS #R7RSLarge #Lisp #FunctionalProgramming #Guile #GuileScheme #ChezScheme #ChickenScheme #GambitScheme #RacketLang #Racket

  24. The official steering committee of the Scheme programming language is calling a vote to replace themselves

    Quoting the memo:

    The outgoing Steering Committee was elected in 2009 and successfully oversaw the production and ratification of the R7RS small language report until 2013. Unfortunately, during the protracted initial development of the R7RS large language after that, it fell dormant.

    The current Scheme Working Group resolved in September 2025 to ask the Steering Commitee for a new election because it felt that after such long dormancy the outgoing Steering Committee was no longer able, as a group, to make and implement decisions effectively.

    The Scheme standardization process charter says, ‘The Steering Committee itself shall establish procedures for replacing its members.’ The outgoing Steering Committee unanimously decided to delegate this task to the current Working Group. The Working Group has very closely modelled the procedure to be used this time on the procedure used last time.

    The Working Group has written a statement to candidates and voters explaining what it hopes for in a new steering committee.

    Lobste.rs thread

    #tech #software #Scheme #SchemeLang #ProgrammingLanguage #R7RS #R7RSLarge #Lisp #FunctionalProgramming #Guile #GuileScheme #ChezScheme #ChickenScheme #GambitScheme #RacketLang #Racket

  25. The official steering committee of the Scheme programming language is calling a vote to replace themselves

    Quoting the memo:

    The outgoing Steering Committee was elected in 2009 and successfully oversaw the production and ratification of the R7RS small language report until 2013. Unfortunately, during the protracted initial development of the R7RS large language after that, it fell dormant.

    The current Scheme Working Group resolved in September 2025 to ask the Steering Commitee for a new election because it felt that after such long dormancy the outgoing Steering Committee was no longer able, as a group, to make and implement decisions effectively.

    The Scheme standardization process charter says, ‘The Steering Committee itself shall establish procedures for replacing its members.’ The outgoing Steering Committee unanimously decided to delegate this task to the current Working Group. The Working Group has very closely modelled the procedure to be used this time on the procedure used last time.

    The Working Group has written a statement to candidates and voters explaining what it hopes for in a new steering committee.

    Lobste.rs thread

    #tech #software #Scheme #SchemeLang #ProgrammingLanguage #R7RS #R7RSLarge #Lisp #FunctionalProgramming #Guile #GuileScheme #ChezScheme #ChickenScheme #GambitScheme #RacketLang #Racket

  26. I sat down the other day to re-look through David Thompson guile-bstructs library, as a learning exercise.

    I re-learnt a few things I didn't know before. Like how far it's possible to push syntax-rules/case. I've never quite seen anything like it before.

    I've said it before, but scheme syntax-rule related stuff isn't the most intuitive thing. Fear of Macros is still the best explanation I've read; but doesn't show off the capability quite like that library does.

    #Scheme #Guile #GuileScheme

  27. I sat down the other day to re-look through David Thompson guile-bstructs library, as a learning exercise.

    I re-learnt a few things I didn't know before. Like how far it's possible to push syntax-rules/case. I've never quite seen anything like it before.

    I've said it before, but scheme syntax-rule related stuff isn't the most intuitive thing. Fear of Macros is still the best explanation I've read; but doesn't show off the capability quite like that library does.

    #Scheme #Guile #GuileScheme

  28. I sat down the other day to re-look through David Thompson guile-bstructs library, as a learning exercise.

    I re-learnt a few things I didn't know before. Like how far it's possible to push syntax-rules/case. I've never quite seen anything like it before.

    I've said it before, but scheme syntax-rule related stuff isn't the most intuitive thing. Fear of Macros is still the best explanation I've read; but doesn't show off the capability quite like that library does.

    #Scheme #Guile #GuileScheme

  29. I sat down the other day to re-look through David Thompson guile-bstructs library, as a learning exercise.

    I re-learnt a few things I didn't know before. Like how far it's possible to push syntax-rules/case. I've never quite seen anything like it before.

    I've said it before, but scheme syntax-rule related stuff isn't the most intuitive thing. Fear of Macros is still the best explanation I've read; but doesn't show off the capability quite like that library does.

    #Scheme #Guile #GuileScheme

  30. I sat down the other day to re-look through David Thompson guile-bstructs library, as a learning exercise.

    I re-learnt a few things I didn't know before. Like how far it's possible to push syntax-rules/case. I've never quite seen anything like it before.

    I've said it before, but scheme syntax-rule related stuff isn't the most intuitive thing. Fear of Macros is still the best explanation I've read; but doesn't show off the capability quite like that library does.

    #Scheme #Guile #GuileScheme

  31. I don't know, maybe the CPU is into it? I'm not judging. All jokes aside and as usual, really cool stuff by the Spritely people.
    spritely.institute/news/announ

    #lisp #scheme #GuileScheme

  32. I don't know, maybe the CPU is into it? I'm not judging. All jokes aside and as usual, really cool stuff by the Spritely people.
    spritely.institute/news/announ

    #lisp #scheme #GuileScheme

  33. I don't know, maybe the CPU is into it? I'm not judging. All jokes aside and as usual, really cool stuff by the Spritely people.
    spritely.institute/news/announ

    #lisp #scheme #GuileScheme

  34. Progress on my clone of the Emacs Lisp interpreter

    This took me three months (a month longer than I had hoped), but I finally have merged it into the main branch!

    This patch rewrites the Emacs Lisp lexer and parser in Scheme using Scheme code that is 100% compliant with the #R7RS standard, so it should now work across all compliant Scheme implementations. Previously the old parser relied on #Guile -specific regular expressions.

    This patch also implements a new feature where a stack trace is printed when an error occurs. This of course makes debugging much, much easier. Previously the old parser did not keep track of where code evaluation was happening, it simply produced lists without source location information. The new parser constructs an abstract syntax tree (AST) and source locations are attached to the branches of the tree which can be used in error reporting and stack traces.

    Next I will make whatever minor tweaks might be necessary to get my Emacs Lisp interpreter run on other Scheme implementations, in particular MIT Scheme, Gambit, Stklos, and Gauche. I would also like to try to get it running on Chicken and Chez, although these are going to be a bit more tricky.

    Then I will continue with the task of implementing a new declarative GUI library.

    #tech #software #FOSS #FunctionalProgramming #Lisp #Scheme #SchemeLang #EmacsLisp #Emacs #Schemacs #GuileScheme

  35. Progress on my clone of the Emacs Lisp interpreter

    This took me three months (a month longer than I had hoped), but I finally have merged it into the main branch!

    This patch rewrites the Emacs Lisp lexer and parser in Scheme using Scheme code that is 100% compliant with the #R7RS standard, so it should now work across all compliant Scheme implementations. Previously the old parser relied on #Guile -specific regular expressions.

    This patch also implements a new feature where a stack trace is printed when an error occurs. This of course makes debugging much, much easier. Previously the old parser did not keep track of where code evaluation was happening, it simply produced lists without source location information. The new parser constructs an abstract syntax tree (AST) and source locations are attached to the branches of the tree which can be used in error reporting and stack traces.

    Next I will make whatever minor tweaks might be necessary to get my Emacs Lisp interpreter run on other Scheme implementations, in particular MIT Scheme, Gambit, Stklos, and Gauche. I would also like to try to get it running on Chicken and Chez, although these are going to be a bit more tricky.

    Then I will continue with the task of implementing a new declarative GUI library.

    #tech #software #FOSS #FunctionalProgramming #Lisp #Scheme #SchemeLang #EmacsLisp #Emacs #Schemacs #GuileScheme

  36. Progress on my clone of the Emacs Lisp interpreter

    This took me three months (a month longer than I had hoped), but I finally have merged it into the main branch!

    This patch rewrites the Emacs Lisp lexer and parser in Scheme using Scheme code that is 100% compliant with the #R7RS standard, so it should now work across all compliant Scheme implementations. Previously the old parser relied on #Guile -specific regular expressions.

    This patch also implements a new feature where a stack trace is printed when an error occurs. This of course makes debugging much, much easier. Previously the old parser did not keep track of where code evaluation was happening, it simply produced lists without source location information. The new parser constructs an abstract syntax tree (AST) and source locations are attached to the branches of the tree which can be used in error reporting and stack traces.

    Next I will make whatever minor tweaks might be necessary to get my Emacs Lisp interpreter run on other Scheme implementations, in particular MIT Scheme, Gambit, Stklos, and Gauche. I would also like to try to get it running on Chicken and Chez, although these are going to be a bit more tricky.

    Then I will continue with the task of implementing a new declarative GUI library.

    #tech #software #FOSS #FunctionalProgramming #Lisp #Scheme #SchemeLang #EmacsLisp #Emacs #Schemacs #GuileScheme

  37. Progress on my clone of the Emacs Lisp interpreter

    This took me three months (a month longer than I had hoped), but I finally have merged it into the main branch!

    This patch rewrites the Emacs Lisp lexer and parser in Scheme using Scheme code that is 100% compliant with the #R7RS standard, so it should now work across all compliant Scheme implementations. Previously the old parser relied on #Guile -specific regular expressions.

    This patch also implements a new feature where a stack trace is printed when an error occurs. This of course makes debugging much, much easier. Previously the old parser did not keep track of where code evaluation was happening, it simply produced lists without source location information. The new parser constructs an abstract syntax tree (AST) and source locations are attached to the branches of the tree which can be used in error reporting and stack traces.

    Next I will make whatever minor tweaks might be necessary to get my Emacs Lisp interpreter run on other Scheme implementations, in particular MIT Scheme, Gambit, Stklos, and Gauche. I would also like to try to get it running on Chicken and Chez, although these are going to be a bit more tricky.

    Then I will continue with the task of implementing a new declarative GUI library.

    #tech #software #FOSS #FunctionalProgramming #Lisp #Scheme #SchemeLang #EmacsLisp #Emacs #Schemacs #GuileScheme

  38. @428 I think #GuileScheme was specifically designed to be a Lisp extension language...?

    #Guile

  39. @428 I think #GuileScheme was specifically designed to be a Lisp extension language...?

    #Guile

  40. @428 I think #GuileScheme was specifically designed to be a Lisp extension language...?

    #Guile

  41. @428 I think #GuileScheme was specifically designed to be a Lisp extension language...?

    #Guile

  42. @428 I think #GuileScheme was specifically designed to be a Lisp extension language...?

    #Guile

  43. @mark @glitzersachen there are actually active projects to use #GuileScheme with #Emacs. I don't have the details handy, but I vaguely remember there was a recent conference with a project to build with scheme and another to use #Guile as the extension language.

  44. @mark @glitzersachen there are actually active projects to use #GuileScheme with #Emacs. I don't have the details handy, but I vaguely remember there was a recent conference with a project to build with scheme and another to use #Guile as the extension language.

  45. @mark @glitzersachen there are actually active projects to use #GuileScheme with #Emacs. I don't have the details handy, but I vaguely remember there was a recent conference with a project to build with scheme and another to use #Guile as the extension language.

  46. @mark @glitzersachen there are actually active projects to use #GuileScheme with #Emacs. I don't have the details handy, but I vaguely remember there was a recent conference with a project to build with scheme and another to use #Guile as the extension language.

  47. @mark @glitzersachen there are actually active projects to use #GuileScheme with #Emacs. I don't have the details handy, but I vaguely remember there was a recent conference with a project to build with scheme and another to use #Guile as the extension language.