Andy Gill
banner
andygillku.bsky.social
Andy Gill
@andygillku.bsky.social
SVP of Product Development at Kodamai. True Scotsman. Former professor at the University of Kansas. Former Googler. Jayhawk fan. Long time functional programmer.
Stage far right?
April 16, 2025 at 1:32 AM
I once understood a POPL talk. Equality Saturation. Great talk.
April 8, 2025 at 3:18 PM
Good question. I was not aware of this library. I'll take a look.
February 27, 2025 at 1:28 PM
for planet in ["Earth", "Mars", "Venus", "Jupiter"]:
print(f"{planet}: {firstAgent.sky(planet)}\n")

Earth: The sky appears blue during a clear day ...

Mars: The sky on Mars appears to be a reddish hue, ...
February 27, 2025 at 4:16 AM
class FirstAgent(Agent):
system: str = "You are a helpful AI assistant who answers questions in the style of Neil deGrasse Tyson"
def sky(self, planet: str) -> str:
return self.ask(f"what color is the sky on {planet} and why?")

firstAgent = FirstAgent(model=connect("mistral"))
February 27, 2025 at 4:15 AM
If you’re interested in experimenting with LLM-based agents, I encourage you to give Haverscript a try. Its easy installation process, clean design, and functional programming principles make it ideal for both rapid prototyping. github.com/andygill/hav...
February 27, 2025 at 3:39 AM
I've written a number of small agentic applications using Haverscript, and its abstractions seem to be maturing into quite a nice library. The first version focused on context and chat, the second on robust, structured LLM calls, and this version is focused on agents and larger prompts.
February 27, 2025 at 3:38 AM
The newly added support for agents in Haverscript simplifies how developers can encapsulate and reuse LLM-related logic. Instead of juggling multiple prompts across a series of ad-hoc calls, Haverscript’s agent abstraction allows you to define Python classes with methods that map to LLM queries.
February 27, 2025 at 3:37 AM
There is nicegui.io which looks, err, nice. Not sure about the behavior abstractions.
NiceGUI
NiceGUI is an easy-to-use, Python-based UI framework, which shows up in your web browser. You can create buttons, dialogs, Markdown, 3D scenes, plots and much more.
nicegui.io
February 26, 2025 at 3:36 AM
The type annotations also help the IDE so you can colourize the valid method calls, etc. This does help in practice.
February 21, 2025 at 8:10 PM
I do find it crazy we call functions and methods and allow write/update access to the things we pass by default. It's not "borrow this book", it's "here is the key to my house and a map to the book on the bookcase." Again, not a problem in Haskell.
February 21, 2025 at 7:37 PM
I quite like Python which is now my goto language. Two things. I do write type annotations and assert isinstance a lot. I wish there was first class support for immutability. Perhaps I'm just a Haskell programmer at heart.
February 21, 2025 at 7:34 PM
Hacking Haskell in a Scottish castle
A representative FP Castle
fpcastle.com
February 20, 2025 at 4:39 AM
It's quite simple (for their point of view) He's identified extensive waste and bloat. He's cutting things that should be cut. NIH was 25% DEI. We trust him to pick and choose. After all should cutting waste be illegal?

No checks no balances. It's going to be a shit show. The fox in the hen house.
February 11, 2025 at 11:26 PM
Scottish national animal. Much like nessie and haggis, they are quite hard to find in the wild.
February 9, 2025 at 6:35 PM
The great thing about Zoom calls is you can see everyone's name by default. I've been caught a few times when a conference room has a group in it, and I can't see everyone clearly. In person I have no excuse. I use the line "what have you been working on since we last chatted?".
February 3, 2025 at 12:02 AM
If the world burns, I'd rather be on Scottish soil.
January 29, 2025 at 4:46 AM