Fri 31 July 2026

Filed under Notes

Tags weeknotes

This week, work on conversion checking in LTT3 and progress towards unification. Conversion checking turns out to be pretty much the same as before, Unification is a bit trickier because unification problems can be suspended pending further information (like, other metavariables being unsolved means that we may need to postpone a unification problem until another one is solved) so we need to remember which local definitions were in scope. It's not that it's tricky, it just needs a bit more infrastructure (which we'll probably use everywhere). Also, to do these things, I've needed some more details in the context, which fortunately are no different than previous attempts at implementing the core, so can be reused.

Some other thoughts from the week... One thing Idris 2 takes a while to do (okay, not that long, but it's noticeable and annoying) is loading in libraries that have been compiled to a binary representation of the type checked terms, and all the dependencies. That is, keeping track of the database of definitions and the relationships between them. And another thing it does too much of is rechecking things that don't actually need rechecking.

The goal here is to have a really interactive system and part of this means not reloading everything every time a definition changes. So we need to be a bit cleverer than tracking dependencies between source files, and there are things we can learn from Query Based compiler architectures.

Hang on, did I say database? And relations? Hmm... anyway, there's some perfectly good tools that can already do what I think we need to do, so once the basic type system is working, my plan is to see if it makes sense to represent type checked collections of definitions in an SQLite database, so that we can quickly find out what needs rechecking any time a single definition changes and save doing unnecessary rechecking of things which aren't affected. Plenty of details to work out here, of course, but that's the basic idea.

Comment

Fri 24 July 2026

Filed under Notes

Tags weeknotes

Been a few weeks, sorry! Partly been on the road, partly taking a bit of a break because it's been just too hot. So, just briefly: progress on the new core (currently going by the name LTT3 and I can't even remember why but I'll stick with that as a …

Read More

Fri 26 June 2026

Filed under Notes

Tags weeknotes

I don't really know why I'm doing this, but I'm trying emacs again. I used to use it all the time, but in 2012 I switched to vim for a month and I'm still there. The lure of the Idris mode in emacs is perhaps too much, and experience so …

Read More

Fri 19 June 2026

Filed under Notes

Tags weeknotes

Not much to say this week really, just that I went to a workshop in Bonn on Mathematics, Formalisation and AI while continuing to fiddle about with the new Idris core and evaluator.

The workshop was interesting in lots of ways, with lots of exciting possibilities discussed. Though it was …

Read More

Fri 12 June 2026

Filed under Notes

Tags weeknotes

More work on the evaluator in the new core. It's interesting how much needs to be done to support local definitions, and thinking about laziness, of weakening and evaluation of let blocks. Why? Firstly: the context, which we pass around everywhere, now contains definitions in the local scope, and not …

Read More

Fri 05 June 2026

Filed under Notes

Tags weeknotes

A two week update this time, simply because last week and this things happened that meant I didn't make much progress on the things I want to write about here. Not bad things, just... Things :). PhD progress reviews, family visits, curriculum planning, that sort of thing. And it's still maybe …

Read More

Fri 22 May 2026

Filed under Notes

Tags weeknotes

It's the Idris developer meeting this week! So a chance to get my Research Brain working again after not having had significant stretches of time to think for a while. Although, Monday is spent travelling back from a Thing in Germany, popping between coffee shops and airports and looking over …

Read More

Fri 15 May 2026

Filed under Notes

Tags weeknotes

I've recently stumbled on the concept of Weeknotes so I thought I'd give it a go. It's mostly to remind myself of progress when I wonder what it is I've even done at some point in the future, but also so that maybe people can see what progress is being …

Read More

Edwin Brady © Edwin Brady Powered by Pelican and Twitter Bootstrap. Icons by Font Awesome and Font Awesome More