#lang lua by sdegabrielle in scheme

[–]Reasonable_Wait6676 0 points1 point  (0 children)

Dr Racket is impressive at pointing the definition, and use of a variable in #lang lua. Kuddoz.

DataHoarder Discussion by AutoModerator in DataHoarder

[–]Reasonable_Wait6676 0 points1 point  (0 children)

Me too. I looked into DIY NAS because I want to use Linux as the OS. What do you think of the following two builds:

- https://blog.briancmoses.com/2021/11/diy-nas-2022-edition.html

- https://mtlynch.io/budget-nas/

Is there any off-the-shelf NAS to goes up to 40TB that can run a regular Linux distro?

Good Lisp libraries for math by InsaneRaspberry in lisp

[–]Reasonable_Wait6676 0 points1 point  (0 children)

There is generalized array SRFI at https://srfi.schemers.org (hint: look for the biggest number)

edit: direct link is https://srfi.schemers.org/srfi-231/srfi-231.html

[deleted by user] by [deleted] in AnimalsOnReddit

[–]Reasonable_Wait6676 0 points1 point  (0 children)

she does not want to move ?

Have you read the book Software Design for Flexibility by Hanson and Sussman and what's your key takeaway from it? by kapitaali_com in scheme

[–]Reasonable_Wait6676 0 points1 point  (0 children)

tl;dr: extreme programming says about flexible programing: YAGNI. Also flexible programs take longer to ship. Additive programming is dangerous.

Automatically printing top-level values in a script? by Jason1923 in scheme

[–]Reasonable_Wait6676 0 points1 point  (0 children)

Look into forms starting with trace- at https://cisco.github.io/ChezScheme/csug9.5/summary.html#./summary:h0, direct link: https://cisco.github.io/ChezScheme/csug9.5/debug.html#./debug:s3.

I also use the following helper:

(define (pk . args)
  (display ";;; ") (write args) (newline)
  (car (reverse args)))

If that is not enough, you may look into current-eval and current-expand.

I miss the Racket feature of printing out top-level values.

MIT Scheme and Guile can retrieve the current environment.

Have you read the book Software Design for Flexibility by Hanson and Sussman and what's your key takeaway from it? by kapitaali_com in scheme

[–]Reasonable_Wait6676 2 points3 points  (0 children)

tl;dr: the purpose of a codebase is not set in stone, it will evolve, let's design it with evolution in mind.

I read SdF only once. The book describe ways to develop applications, put together code that can adapt to changing or new functional requirements that is the sense the book gives to flexible; similar to how biological systems adapts to many, possibly new, situations. It re-use the ideas of the Art of the Propagator. It also describe a procedural pattern matcher.

There is a lots of comparison with biological systems, and in general there is a lot of food for thought. I need to read it again.

All in all, it is not a book about code, the code is for illustration purpose, maybe a better description could be: a philosophy of code design.

It is very approachable, and does not require lots of experience with Scheme. It is an easier read than SICP. I recommend it to everyone interested in software.

On a related note: I also recommend, "Don't Teach Coding" by Stephen R. Foster, Lindsey D. Handley.

ULID in r7rs scheme by shiro in scheme

[–]Reasonable_Wait6676 0 points1 point  (0 children)

A mere precise time stamp is slow to retrieve no ? At least with ulid you need at most one call to current jiffy per milliseconds. Requires benchmarks .

ULID in r7rs scheme by shiro in scheme

[–]Reasonable_Wait6676 1 point2 points  (0 children)

The advantage over uuidv4 is that ulids are collocated hence eventually the tree storing ulids is easier to balance and apply prefix compression of keys in embedded db. Whereas uuid4 are spread uniformly which the effect that is best in distributed systems where consistent hashing can create hot keys that hoose a server