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.
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.
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 #m4
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.
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.
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.
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.
Also CL folks: "I developed an entire #Haskell-like programming language in Common Lisp only to realize its lack of features found in its 50-page standard cousin #Scheme is holding the whole project back"
@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)
@ramin_hal9001@publicvoit yup, same rationale. Shell wasn't too bad, but I was fed up with configuring #Neovim and #tmux. 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 #Fennel just wasn't lispy enough. For reference - I used #Nix, 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. #Neovide and #GNvim, #Conjure, Vim Table Mode, #Aniseed and Hotpot.nvim, I could go on. These are all excellent plugins, but Emacs just does them so much better.
#Vimscript 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.
#Emacs just feels so much more coherent, or at least #DoomEmacs. 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 #Lisp.
#lisp y #gopher 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