miniblog.

I used to think gradual type systems (mypy, flow, typed racket) were the sweet spot. They're super-powered linters that help with refactoring, but you can run the code at any point. In a statically typed PL, you need the whole codebase to be well typed before you can run tests.
The io programming language is really pretty, but it's essentially f-expressions. I wonder what it would be like on a larger team, especially when you can add methods to add class at any point (just like Ruby).
Wow, LambdaMOO even has a little webserver inside! If you teleport to #90271, you can play scrabble and there's even an integrated web UI.
Common Lisp has 'make-instance', analogous to the 'new' keyword in Java: https://clhs.lisp.se/Body/f_mk_ins.htm I suspect the longer name shows that OO is less used in CL than Java: CL supports standalone functions and other paradigms.
Intriguing post by @Chis_Andrei exploring the use of unit tests to provide live examples of objects to demonstrate APIs. He even shows a notebook style UI and exploring related code! https://medium.com/@Chis_Andrei/exemplifying-software-fd39a420472a
Excellent article discussing the bytecode used to fit text adventure games on early PCs with tiny RAM: https://mud.co.uk/richard/htflpism.htm ZIL was lisp-inspired, heavily optimised string storage (5.5 bytes per character!) and had some fun opcodes that were very specific to text games.
Arch Linux updates its linux kernel packages more often than I reboot! https://git.archlinux.org/svntogit/packages.git/log/trunk?h=packages/linux
@cstanhope runkit: https://runkit.com/ is a notebook-style UI that has stronger reproducibility guarantees AIUI. Jupyter is still exploring this space and I don't think there's a standard tool for enforcing reproducibility there.
In addition to 'sufficiently smart compiler', I've seen tech concepts that require a 'sufficiently smart UI' or even a 'sufficiently smart user'. These should be stigmatised too. Teaching a new UI or abstraction sometimes shows that it's not ergonomic.
Fascinating introduction to early hyperlinks: there were 'linkbases' (storing links separately from the content), they weren't 1:1 (one link could point to multiple destinations) and had gossip protocols to update on other servers! https://moocs.southampton.ac.uk/websci/2014/02/21/open-hypermedia-web/ https://edshare.soton.ac.uk/6158/1/Open_Hypermedia.pptx
Some great perspectives from JupyterCon: reproducible/explicit state is important, notebooks are replacing bash scripts in some workflows, and they're even used to introduce programming to total beginners! https://willcrichton.net/notes/lessons-from-jupytercon/
Interestingly, I've reached a point where I get as many thoughtful responses to my content on Mastodon as I do on Twitter. I agree it's very hard to make decentralised systems work, but my experience has been pretty positive.
A cute JS project that automatically instantiates controllers based on the HTML you've loaded, allowing you to easily add logic to pages using Turbolinks: https://stimulusjs.org/handbook/origin
@kaushalmodi@mastodon.technology I'm a big fan of M-x github-clone (available on MELPA) for cloning, forking, and adding a remote, all in one convenient Emacs command. 😀
@kaushalmodi@mastodon.technology I am really glad to hear you like it! 😄 Thanks for sharing your config too, really interesting to see how you're using it. Regarding editing, I do want to add this. You cam subscribe to https://github.com/Wilfred/deadgrep/issues/12 to track progress.
I am fascinated to learn that Multics (the Unix predecessor) was a big influence on the lisp condition system (i.e. resumable exceptions)! From
Photo
Common Lisp is the only language where I've seen other languages implemented on top. Today I saw an awk implementation! https://lemonodor.com/archives/000040.html Racket comes close (and has great tooling) but I've not seen anything like the Python implementation on CL.
Computers are stronger than humans at chess and go. They're even winning at arimaa, which was specifically intended to be hard for machines. Watching AI play Quake-style CTF recently, I've realised I no longer have intuitions on which games are hard for computers.
The vast majority of PLs are either self-hosted or implemented in a systems language (one without GC). The only exceptions I can think of are PureScript, Elm (both written in Haskell), Hack (partly uses OCaml) and Clojure (Java). Are there others? Is it a good tradeoff?
'Mouse copy' is neat way of editing sexps, based on a design from Lisp Machines: https://www.mail-archive.com/gnu-emacs-sources@gnu.org/msg00393.html This lets you copy the sexp under your mouse cursor and paste it at point. Saves a few precious keystrokes! Full implementation here: https://github.com/vsedach/mouse-copy
Showing 2,541-2,560 of 7,508 posts