rml, to random
@rml@functional.cafe avatar

I'm just now catching Andrew Whatson's talk on #PreScheme from #fosdem this year, and I just can't get over the fact that he was able to implement a working, reasonably fast systems programming language with Hindley-Milner type inference in his free time over the course of a few months. And I was in the #GuileSteel irc when the discourse first started, it was probably less than a month before he got it working. I even try it then and it seemed great for something that went up that quick. What other programming languages make rapid prototyping #compilers feasible without relying on massive frameworks like #LLVM or #Truffle/#Graal?

And even then...

https://fosdem.org/2023/schedule/event/prescheme/

#guile #guix

ArneBab, to random German
@ArneBab@rollenspiel.social avatar

There’s a paid internship offer with the Greens in Brussels that needs and skills: https://www.greens-efa.eu/en/get-involved/work-with-us — I thought you may be interested. Deadline for application: 31 May, 23:59 CET — info about needed skills is from an email of a green elected: Internal toolchain development, debugging or maintenance, using Guile Scheme, Guix, PHP (Drupal / CiviCRM), bash, postgres, sqlite and similar technologies

rml, to random
@rml@functional.cafe avatar

5 minute attempt at something like #clojure's defn in #scheme

#guile #guix

atheia, to random

After reading 's https://spritely.institute/static/papers/spritely-core.htm I get the excitement. Can't wait to use free transactions and timetravel for guile project managenent in hall. Thanks for your amazing work @cwebber , @dthompson and all the other comrades at spritely!

Mi legis The heart of Spritely, kaj mi nun komprenis la hype. Mi ne povas atendi por uzi libre transakcioj kaj tempvojagxoj en mia guile projektilo, hall. Dankon, gxin estas tre mojosa.

daviwil, to random
@daviwil@fosstodon.org avatar

Today I'm spending some time writing up an outline for a new guide and video series about Guile Scheme!

The goal is to teach anyone (even programming beginners, if possible) how to use Scheme as a language for building personal tools (scripts, etc) and managing their system via Guix. Guix itself won't be covered in depth, but the features of the language used commonly in Guix will be!

What would you like to see covered in such a series?

#gnu #guile #scheme #guix

abcdw, to random
@abcdw@fosstodon.org avatar

Implemented bencode encoding/decoding in Guile Scheme.

TDD is a pleasure, when you have proper tools and can [re]run specific test groups instantly.

https://git.sr.ht/~abcdw/guile-nrepl/tree/257353b1/item/src/bencode.scm

rml, to random
@rml@functional.cafe avatar

#Lisp(s) are the only programming environments that enable a prototype-to-production development cycle for non-trivial projects in a way that is predictable.

#clojure #commonlisp #janet #guile #scheme

rml, to random
@rml@functional.cafe avatar

Fun fact: 's .gs file extension stands for "Gerry Sussman"

abcdw, to random
@abcdw@fosstodon.org avatar

Lack of a built-in associative array/map in Scheme regularly hits and bothers me. It's so generic and so useful, maybe we will add it in r8rs?

Alists doesn't work here not only for performance reason, but because we can't distinguish empty list and empty alist.

#scheme #lisp #guile

abcdw, to random
@abcdw@fosstodon.org avatar

Tomorrow I continue to explore Haunt (Static Site Generator by @dthompson written in Scheme), will migrate my current pages to it and make a foundation for the blog:

https://youtu.be/7jKxC99F9eQ
https://trop.in/stream

#scheme #guile #lisp #haunt #emacs

ArneBab, to webdev German
@ArneBab@rollenspiel.social avatar

Dryads Sun came in at position 7 in the #game #jam for #blind gamers! https://itch.io/jam/games-for-blind-gamers-2/rate/2043845

All games in the jam: https://itch.io/jam/games-for-blind-gamers-2/results

#Guile #scheme #wisp #rpg #webdev #freesoftware #FOSS

If you want to write a game like Dryads Sun yourself, just clone https://hg.sr.ht/~arnebab/dryads-sun — the game is free licensed under AGPL and the tooling under LGPL (so unfree games are possible, though that’s not what I write).

cbaines, to random

Post core-updates #Guile in #Guix now returns memory to the system 🎉​

This is great for the various services that I've written that have large spikes in memory usage 😅​

civodul, to random
@civodul@toot.aquilenet.fr avatar

(call-with-input-string "(. wtf?)" read)

⇒ wtf?

#Guile #Scheme

ramin_hal9001,
@ramin_hal9001@emacs.ch avatar

@civodul
@janneke (. (quote wtf?))

⇒ wtf?

(. (quote wtf?) (quote why?))

⇒ error: missing close paren

Is this a mistake in the "." parsing syntax? It seems that this form being treated as a list with no head, so instead of creating a cons cell it just returns the form after the "." delimiter? Is it supposed to work this way?

#guile #scheme

rml, to random
@rml@functional.cafe avatar

"I tried #SBCL, and something I noticed was that for any simple function, #lisp takes a moment to compile, which isn't acceptable for a #shell"

Is this really the case?? Doesn't sound right at all.

#Guile and #Chez both feel faster than #bash, for example.

https://www.youtube.com/watch?v=dCbTw9UOuS8

nilmethod,

@rml I do believe the implication that #guile is faster than #sbcl, though. Based strictly on the fact that it's a smaller language.

rml,
@rml@functional.cafe avatar

@nilmethod sbcl is generally faster than most schemes (but chez certainly gives it a run for its money), but #guile and #chez are incredibly fast in terms of start up and compile times. I read somewhere that chez bootstraps #idris in about 2 minutes, for example (I think #haskell took over 20 minutes when it was the implementation language).

rml, to random
@rml@functional.cafe avatar

I wonder if the GC interface #whippet will bring to #guile will put tooling for reproducible benchmarks within reach 👀

abcdw, to random
@abcdw@fosstodon.org avatar

Arghhh, guile-commonmark doesn't support raw html
https://github.com/OrangeShark/guile-commonmark/issues/8

abcdw,
@abcdw@fosstodon.org avatar

Do someone with Guile FFI experience want to help me to get started with guile-tree-sitter? (:

Just share some FFI best practices and/or highlight overall direction/approach will be enough.

ramin_hal9001, to random
@ramin_hal9001@emacs.ch avatar

Question for anyone familiar with #Scheme programming, and in particular #Guile (@wingo): how hard would it be to port GOOPS to other Scheme implementations like #Chez, #Gauche, Gerbil, or Chicken? I know that other Scheme implementations provide their own #OOP systems (e.g. Chicken COOPS), but what if I want my library written in Guile to be more portable, could I still use GOOPS and try to move the code over to some other platform?

Or has this already been done? Is there a portable GOOPS, akin to a large Scheme library such as SLIB?

#r7rs #r6rs #r5rs

rml, to random
@rml@functional.cafe avatar

#emacs phone is the one true horizon

rml,
@rml@functional.cafe avatar

Which reminds me — I still haven't tried #guile #ggolf yet (going through serious gui allergies as of late), but I saw on the g-golf mailing list that it runs on mobile? Wonder how much work it would be to get the tooling together to make it easy to target Android in a predictable & uniform manner. Emaxxing the mobile experience is certainly on my mind often, but in general the ecosystems of mobile development, which in my mind is mostly Java, is the pits.

rml, to random
@rml@functional.cafe avatar

I find it amazing that Edwin Brady wrote Idris2 on Chez without even knowing that scheme has records

rml,
@rml@functional.cafe avatar

@PaniczGodek oh really? to me they are like the bread and butter. when you build good records and structure your programs around them, your flexibility increases dramatically as you have these quasi-"intermediate representations" that are extensible and easy + performant to handle. many schemes use records as their fundamental underlying data representation, including #guile and I believe #chez as well. and I think #r6rs record protocols make them both extremely extensible and parametric, as well as #guix's define-record-type* lazy records which serve a similar purpose with a lot less cognitive overhead.

lots of cool record systems out there, I'm interested in understanding the tradeoffs of #gauche's approach in particular, which is to implement records within a #clos-like object system, which seems to allow you to work with generic methods on record-types (which is something that GOOPs is not very good at, for example). what approach did you go with for your record system?

rml, to random
@rml@functional.cafe avatar

#Stage0 of the #guix full source bootstrap is commented well enough that you can get a sense of what's going on fwiw

https://git.savannah.nongnu.org/cgit/stage0.git/tree/stage0/stage0_monitor.hex0

#mes #hex0 #guile #scheme

rml, to programming
@rml@functional.cafe avatar

"The focus of my research is applying , in particular , to low-level problems — the type of situations that usually call for or #c"

— highly recommended talk on programming with serialized data from @vollmerm @

https://www.twitch.tv/videos/1803057942

rml,
@rml@functional.cafe avatar

@theruran @vollmerm I increasingly think that #TypedRacket's approach is the ideal amount of types, but my scheme addiction keeps taking me lower and lower in terms of the minimal base I want to be working with (#Racket#Guile#Chez)

ramin_hal9001,
@ramin_hal9001@emacs.ch avatar

@rml @theruran @vollmerm
I love how the minimal interpreter (without the compiler) on x86_64 Linux is only 346800 bytes. That is small and minimal. But the Chez compiler is best-in-class, producing the among the fastest and smallest binaries of any Lisp.

That said, Guile's licensing and it's use in , and it's extensive collection of libraries and SRFI support, make a superior choice for practical applications (IMHO). Also now I know of someone working on porting the "PreScheme" compiler from Scheme48 (a Scheme subset with no garbage collector) to Guile for use in building low-level performance binaries: https://gitlab.com/flatwhatson/guile-prescheme

> "I promise I'll convince everyone here that types are good by the end of this talk"

As a Haskeller, I do not need convincing at all. One thing that got me to even pay attention to however was a conversation with a friend, William Byrd -- by the way, who's dissertation is in relational logic programming from the University of Indiana under Dan Friedman, same school as the presenter in this video -- explained to me that the power of Scheme comes from both it's minimalism, but also it's macro system which you can use to implement any type system you might want. Byrd told me he is frustrated by the world kind of gravitating toward the Hindley Milner type checking algorithm used by OCaml, F#, Haskell, Typed-Racket, Coalton, Carp, and PreScheme, as if it is the end-all-be-all of type systems.

So anyway, Will Byrd convinced me how cool it is being able to use any type system at all in Scheme. Hindley-Milner, CSP, Pi Calculus, Calculus of Constructs, Separation Calculus, Location Calculus (which I just now learned about!), or maybe even more exotic constraints systems modeled on physics -- use whatever is best for your problem domain.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • thenastyranch
  • rosin
  • GTA5RPClips
  • osvaldo12
  • love
  • Youngstown
  • slotface
  • khanakhh
  • everett
  • kavyap
  • mdbf
  • DreamBathrooms
  • ngwrru68w68
  • provamag3
  • magazineikmin
  • InstantRegret
  • normalnudes
  • tacticalgear
  • cubers
  • ethstaker
  • modclub
  • cisconetworking
  • Durango
  • anitta
  • Leos
  • tester
  • JUstTest
  • All magazines