Kazinator, to random

Here is an idea for #Lisp .

When a file is being loaded by load, there should be an anonymous block named nil. The file being loaded should be able to execute a (return <value>) which will stop the load and cause the (load ...) call to return that value.

I'm also thinking it would be useful to pass arguments to load, which turn into a list bound to the dynamic variable load-args, so that loaded files can have arguments.

Kazinator,

Implementation of this concept in working stages:

This is the TXR #Lisp interactive listener of TXR 286.
Quit with :quit or Ctrl-D on an empty line. Ctrl-X ? for cheatsheet.
Apply today for a TXR credit card, and get 1MB off your next allocation.
1> (file-get-string "add.tl") ;; what is in add.tl?
"(return-from load [apply + load-args])\n"
2> (load "add")
0
3> (load "add" 3 5)
8
4> (load "add" 3 5 7)
15
5>

We can use a loaded file as a function. It will be useful in tool-related scripting.

d_run, to programming
@d_run@mastodon.social avatar
louis, to random
@louis@emacs.ch avatar

Fell asleep yesterday during the Lispy Gopher show with @screwtape (started at 2am here). Thankfully, here are the archives:

https://archives.anonradio.net/#screwtape

rml, to random

wow, the #Chez #Scheme implementation of the #Shen #Prolog logic programming system[1] performs 4x faster than the #SBCL #Lisp implementation[2].

It seems like Mark Tarver, the author of Shen who reported these results, authored both implementations.

[1] https://shen-language.github.io/
[2] https://groups.google.com/g/chez-scheme/c/vTyTn_yh9vg/m/D8t-jooBGAAJ

rml, to random

The disadvantage of using ' and for (quasi)quotation in most varieties of #lisp is that it forcloses the ability to createarbitrary nestings of strings''' in a sensible way like

etenil, to random
@etenil@emacs.ch avatar

I finally have something worth posting about with my effort on the #lisp #lispgamejam. I chose to use #sdl2 with #chickenlisp.

Clearly the game isn't anywhere near playable yet. Eventually it'll be about particles, magnetism and hard drives :P

(oh and of course I write all this in #emacs)

video/mp4

mousebot, to random
@mousebot@todon.nl avatar

#emacs #mastodonEl

i was playing around with using EIEIO and jeison.el for mastodon.el, but ran into this problem: how to have a slot on an object that contains a list of objects: https://emacs.stackexchange.com/questions/77383/hold-a-list-of-objects-in-the-slot-of-another-object. perhaps someone around here knows EIEIO or CLOS or just OOP and has an idea? maybe it can't be done?

i was also struggling to have a slot hold an object of the same class as itself (i.e. for mastodon, a boost is a status with a 'reblog' field containing the original status).

by contrast, a status object can have an account object in a slot, no problems.

#lisp #clos

rml, to random

imperative #lisp programmers are setqanoners, bite me

amoroso, to random
@amoroso@fosstodon.org avatar

An editor of queues represented as ordered lists, an unusual development tool that comes with Medley Interlisp's LispUsers collection of user-contributed software. Online session on my Chromebox.

#interlisp #lisp #retrocomputing

amcooper, to random

I'm in an alternate universe where I have time to learn , wondering how people choose a first Lisp dialect to learn.

dthompson, to gamedev

The Lisp Game Jam has begun! 60 registered participants! This is a 10 day jam so still plenty of time to join in if you want! https://itch.io/jam/spring-lisp-game-jam-2023

daviwil, to random
@daviwil@fosstodon.org avatar

I don't care if "Scheme is not a Lisp", the only thing that matters to me is that Scheme is beautiful and fascinating.

ramin_hal9001,
@ramin_hal9001@emacs.ch avatar

@dekkzz76 @daviwil

  • S-expressions, macros, DSLs
  • inspired by Lamdba Calculus
  • tail recursion
  • minimal specification
  • developed by iterating on the programs image in memory

That makes a pretty solid language in my book.

fosskers,

@daviwil Jesus if isn't a then nothing is.

ksaj,

@fosskers @daviwil The next argument is "Well akshwully, isn't really a Lisp either."

ramin_hal9001, to random
@ramin_hal9001@emacs.ch avatar

I thought it was worth sharing the work of @amszmidt here for anyone not familiar (which I wasn't until a chance encounter with him here on Mastodon!) He has been resurrecting the MIT "CADR" Lisp Machine, salvaging old software, getting it working in emulation, and even recreating the circuitry of the computer in HDL so it can be programmed onto an FPGA.

This is some truly amazing reverse engineering and historical preservation work. Definitely worth checking out!

#Lisp #LispMachine #FPGA #ComputerHistory

ramin_hal9001, to random
@ramin_hal9001@emacs.ch avatar

Spring Lisp Game Jam 2023!

Starts 19 hours from the time of this post.

  • Must be written in any dialect of Lisp. This includes, but is not limited to #CommonLisp, #Racket / #Scheme, #Emacs #Lisp, #Fennel, #Clojure, or even your own new custom lisp you've made just for this game!
  • You may use existing libraries, third-party or self-created, as long as they have an open-source license.
  • (...click link above to see more rules...)

#GameJam

screwtape, to internet
@screwtape@mastodon.sdf.org avatar

#meta
@amszmidt is right to balkanize #lisp and #scheme .

Whatever lisp was, it died out in the 80s, survived by rnrs and a portability ansi standard to the 32bit x86 era.

Now that the MIT CADR https://tumbleweed.nu/lm-3/ and (medley) dmachine https://interlisp.org/ have reincarnated, #CommonLisp should be deported back to #maclisp and #interlisp and used as a portability standard.

In contrast rnrs scheme https://scheme.org -> (incf n) rnrs scheme https://scheme.org

rml, to random

some good sibling rivalry going down on the tl today :popcorn:

#lisp #scheme

rml, to random

Scheme isn't #lisp, insofar as lisp means "weighed down by the traditions of dead generations like a nightmare on the brains of the living." We have pattern matching that rivals statically typed languages. Fight me.

amszmidt, to random
@amszmidt@mastodon.social avatar

Scheme is not Lisp. Bite me.

rml,

@amszmidt @louis @ramin_hal9001

Common folks: "scheme isn't fully featured"

Also CL folks: "I developed an entire -like programming language in Common Lisp only to realize its lack of features found in its 50-page standard cousin is holding the whole project back"

rml, to internet

What other #distro includes a system service for blocking #facebook out of the box?

#guix

rml,

@akater
I did it y'all. I turned #scheme into a proper #lisp

(we already have defmacro, loop [ala (let loop () ...)], defmethod (as define-method), defun is simple function definitions iirc, so all is thats left is unwind-protect, which trivially defined using dynamic-wind)

dthompson, to gamedev

The Lisp Game Jam starts on Friday! Would be real cool if we got 50+ parenthetical jammers! At 49 now, just need one more. https://itch.io/jam/spring-lisp-game-jam-2023 #lisp #scheme #gamejam #gamedev

optimal, to random

i switched to . before you get your pitchforks ready, i'm ready for a Q&A

optimal,

@ramin_hal9001 @publicvoit yup, same rationale. Shell wasn't too bad, but I was fed up with configuring and . They just never felt... complete. Then it got to the point where my Neovim config kept falling apart because all the plugin updates kept deprecating things, and just wasn't lispy enough. For reference - I used , so adding/removing plugins was a breeze.

It also felt like a lot of Neovim plugins and apps were trying to add to or hack into Neovim what Emacs already did well. and , , Vim Table Mode, and Hotpot.nvim, I could go on. These are all excellent plugins, but Emacs just does them so much better.

was a very simple command language made to do things it never should have. Tmux's scripting language is an even uglier copy, mixed with shell syntax. And scripting in Fennel is somewhat okay until you have to start mixing in Vimscript via strings.

It just all felt... hacky. Puzzle pieces that were never supposed to go together.

just feels so much more coherent, or at least . Doom gives you the finished puzzle, and detailed, simple instructions on how to rearrange it to make it your own, or even tack on more pieces. It's a wonderful experience. And I just love .

screwtape, to random
@screwtape@mastodon.sdf.org avatar

y show w/ screwtape in about three hours!
Music: More cyanmentality from last week, because I forgot they gave me free access to their pay-to-download bandcamp albums

-I decide my common lisp gopher mud chapter 1 on my hopfield net book needed to actually be gud (work work)
-hopfield nets as a solution to every single problem no matter what
-hash tables requiring only a few stray bits of a key

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