Andy Gill's Avatar

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.

350 Followers  |  290 Following  |  49 Posts  |  Joined: 16.11.2024  |  2.2629

Latest posts by andygillku.bsky.social on Bluesky

To whoever called the SIGPLAN podcast "current continuation". Brilliant name!

22.05.2025 23:41 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

#booksky

18.04.2025 20:51 β€” πŸ‘ 5091    πŸ” 568    πŸ’¬ 99    πŸ“Œ 43

Stage far right?

16.04.2025 01:32 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

I once understood a POPL talk. Equality Saturation. Great talk.

08.04.2025 15:18 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
TypeScript types can run DOOM
YouTube video by Michigan TypeScript TypeScript types can run DOOM

Turns out the TypeScript **types** are DOOM-complete. www.youtube.com/watch?v=0mCs...

27.02.2025 17:21 β€” πŸ‘ 8    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Good question. I was not aware of this library. I'll take a look.

27.02.2025 13:28 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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, ...

27.02.2025 04:16 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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"))

27.02.2025 04:15 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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...

27.02.2025 03:39 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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.

27.02.2025 03:38 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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.

27.02.2025 03:37 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
GitHub - andygill/haverscript: Library for building agents and managing LLM interactions Library for building agents and managing LLM interactions - andygill/haverscript

Haverscript (github.com/andygill/hav...) now supports Agents!

Haverscript is a lightweight Python library designed for working with LLMs and has recently introduced agents. The library offers a readable API for crafting prompts, chaining LLM calls, and integrating new AI-driven features.

27.02.2025 03:36 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0
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.

There is nicegui.io which looks, err, nice. Not sure about the behavior abstractions.

26.02.2025 03:36 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Gradio Build & Share Delightful Machine Learning Apps

Gradio.app is a disappointing platform. We know how to make better looking and more usable widgets. The underlying programming model is not composable in any real sense. After spending hundreds of hours debugging gradio applications I'm actively looking for something better and perhaps LLM friendly.

25.02.2025 15:47 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

The type annotations also help the IDE so you can colourize the valid method calls, etc. This does help in practice.

21.02.2025 20:10 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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.

21.02.2025 19:37 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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.

21.02.2025 19:34 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Hacking Haskell in a Scottish castle A representative FP Castle

fpcastle.com

20.02.2025 04:39 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Spent the morning adding monads to Haverscript.

def bind(self, completion: Callable[[Any], Reply]) -> Reply: ...

The unit tests are the monads laws.

16.02.2025 16:14 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
The International Conference on Functional Programming The conference provides a forum for researchers and developers to hear about the latest work on the design, implementations, principles, and uses of functional programming. The conference covers the e...

Has anyone taken the various ICFP programing content specifications, and given them to LLMs? There are >25 challenging programming problems to input. Yes, some of the solutions are on the web already, but in various languages, and fragmented formats.

www.icfpconference.org/contest.html

12.02.2025 20:01 β€” πŸ‘ 4    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

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.

11.02.2025 23:26 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Here is my monthly bill from together.ai. Inference is cheap. This was from running unit tests for Haverscript, and cost a fraction of what booting up a stand-alone cloud machine for larger models would cost.

10.02.2025 16:28 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Scottish national animal. Much like nessie and haggis, they are quite hard to find in the wild.

09.02.2025 18:35 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 3    πŸ“Œ 0

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?".

03.02.2025 00:02 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

If the world burns, I'd rather be on Scottish soil.

29.01.2025 04:46 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

My favourite was a student email that was addressed to "Dr Grill". My friends had fun with this and it was my social nickname for years.

28.01.2025 03:05 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Thank you Erik for the shout out!

27.01.2025 20:10 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Haverscript I2S Haverscript and LLMs Andy Gill

I gave a talk last week at the University of Kansas I2S Student Research Symposium about Haverscript and LLMs. I think the talk was well received and I got good questions. Here are the slides if anyone is interested.

docs.google.com/presentation...

27.01.2025 02:39 β€” πŸ‘ 6    πŸ” 1    πŸ’¬ 2    πŸ“Œ 0

I could find the talks on YouTube. Just searched for POPL 2025. Not the same as talking to folks but it's a start.

24.01.2025 04:44 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Please keep posting!

23.01.2025 02:25 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

@andygillku is following 19 prominent accounts