#lisp

claralistensprechen3rd@friendica.myportal.social

Yeah riiiiiiight--homeless people go around buying farms. If you believe that I've got a bridge in Brooklyn I could sell you.


Simon Brooke - 2022-10-30 10:34:41 GMT

#introductionSimon Brooke, crofter, ex #Lisp hacker, still dabbles in #Clojure.

Lives at Standingstone, which is not a commune but a conspiracy: what happens when a bunch of homeless people buy a farm.

Posts mostly about crofting, living #offgrid, #LandReform, Scottish #politics, mental illness.

he/him, #autistic, cis male, #transally.

royae@diaspora-fr.org

Joe Marshall
@2023-09-27 16:31

Greenspun's tenth rule of programming states

Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug ridden, slow implementation of half of Common Lisp.

Observe that the Python interpreter is written in C.

In fact, most popular computer languages can be thought of as a poorly implemented Common Lisp. There is a reason for this. Church's lambda calculus is a great foundation for reasoning about programming language semantics. Lisp can be seen as a realization of a lambda calculus interpreter. By reasoning about a language's semantics in Lisp, we're essentially reasoning about the semantics in a variation of lambda calculus.

http://funcall.blogspot.com/

#programming #Computer-language #Lisp #C

4k1r4@diaspora-fr.org

Hello, I use #Guile #Scheme implementation, and I'd like to know how do you do to get the terminal width (to store in a variable for example)?
After tried with getenv procedure:

(getenv "COLUMNS")

That return #f (unless export COLUMNS=$(tput cols) either in .bashrc or in the guile shebang's script)

#!/usr/bin/env sh
exec env COLUMNS=$(tput cols) guile -s "$0"
!#

But using this, if you resize the terminal, the value is not updated.

So I have to use:
```
(use-modules (ice-9 popen))
(use-modules (ice-9 rdelim))

(define (get-terminal-width)
(let* ([port (open-input-pipe "tput cols")]
[terminal-width (read-line port)])
(close-pipe port)
terminal-width))


May be someone has a more efficient way to get the terminal width, thanks.

#GNUser #Guile #lisp #Scheme #programming
tomgrzyb@sysad.org

#freesoftware
#lisp

ECL: Embeddable Common-Lisp

https://gitlab.com/embeddable-common-lisp/ecl

ECL stands for Embeddable Common-Lisp. The ECL project aims to produce an implementation of the Common-Lisp language which complies to the ANSI X3J13 definition of the language. -- The term embeddable refers to the fact that ECL includes a Lisp to C compiler, which produces libraries (static or dynamic) that can be called from C programs. Furthermore, ECL can produce standalone executables from Lisp code and can itself be linked to your programs as a shared library. It also features an interpreter for situations when a C compiler isn't available.