Kiran (She/Her)'s Avatar

Kiran (She/Her)

@kirancodes.me.bsky.social

Programming Languages Postdoc @ UIUC Trans girl πŸ³οΈβ€βš§οΈ still here~ despite it all https://kirancodes.me

691 Followers  |  214 Following  |  2,228 Posts  |  Joined: 11.09.2023  |  1.6871

Latest posts by kirancodes.me on Bluesky

screenshot of a bsky thread of twitter cretins.

Dandy: "As an American with Englihs heritage it makes me sick what these parasites are doing to your beautiful country and identity"

William: "They are an ill race of people who hate what they love and love what they hate.

They will if given license transform all cultures into a reflection of themselves.
And by this creating their own nightmare a world made in their own image, something which they flee from, the very... the rest of his racist screed is hidden"

William: <more insane racist bullcrap>

Dandy: "I hope and pray that you lot across the pond are able to rid yourselves of them. Muslims and jeets."

screenshot of a bsky thread of twitter cretins. Dandy: "As an American with Englihs heritage it makes me sick what these parasites are doing to your beautiful country and identity" William: "They are an ill race of people who hate what they love and love what they hate. They will if given license transform all cultures into a reflection of themselves. And by this creating their own nightmare a world made in their own image, something which they flee from, the very... the rest of his racist screed is hidden" William: <more insane racist bullcrap> Dandy: "I hope and pray that you lot across the pond are able to rid yourselves of them. Muslims and jeets."

they're literally organising a klan rally in my mentions??? and I'm not allowed to tell them to kill themselves???

05.08.2025 13:51 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

*useful code

05.08.2025 13:48 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Haskell devs will do anything but actually write code

05.08.2025 13:46 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Screenshot of a twitter notification saying that we've temporarily limited some of your account features:

We have determined that you have violated the X Rules, so we’ve temporarily limited some of your account features. While in this state, you can still browse X, but you’re limited to only sending Direct Messages to your followers β€” no posts, reposts, follows, or likes. Your account will be restored to full functionality in:
11 hours and 34 minutes.

Screenshot of a twitter notification saying that we've temporarily limited some of your account features: We have determined that you have violated the X Rules, so we’ve temporarily limited some of your account features. While in this state, you can still browse X, but you’re limited to only sending Direct Messages to your followers β€” no posts, reposts, follows, or likes. Your account will be restored to full functionality in: 11 hours and 34 minutes.

I thought comedy was legal again??? woke website smh

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

Being a voter in the UK right now I suppose

05.08.2025 11:06 β€” πŸ‘ 7    πŸ” 1    πŸ’¬ 2    πŸ“Œ 0
Video thumbnail

"When It comes to trans women in prisons, isn't it interesting that we run our country with people who ... have no idea what they're talking about?"

Fuck me. Even fucking Reform and Farage has a better stance on trans rights than Labour??

The actual fuck is going on in the UK?

05.08.2025 10:58 β€” πŸ‘ 7    πŸ” 1    πŸ’¬ 1    πŸ“Œ 2

it does look cool tho :)

05.08.2025 03:44 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

so you don't notice that it takes 1000 times as many cycles as the imperative version, and 10 million times as much memory

05.08.2025 03:44 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

If you think about it, Godel must have been the most annoying little know it all to deal with.

Like yeah bro, yeah im sure you've found a loophole through which the US could fall to fascism

As it turns out, and as we're all watching, the easiest way to induce racism is...

to not follow the law

05.08.2025 00:37 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
GitHub - kiranandcode/BetterFind.lean: A better #find for lean. A better #find for lean. Contribute to kiranandcode/BetterFind.lean development by creating an account on GitHub.

New #Lean project just dropped. Power Rocq users rejoice, C-f is finally back, and back with a vengance~

A find for the rest of us!

github.com/kiranandcode...

04.08.2025 23:54 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Average haskell user, yeah bro, haskell's really fast, you just have to write the compiler yourself

04.08.2025 22:36 β€” πŸ‘ 10    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Imperativegals we've been defeated

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

the part they don't tell you is that enabling typed racket increases compile times by a ton, and contrary to what you'd expect (as I did) the extra time isn't being used to produce really efficient code, no, it's purely spent on type checking.

in fact, you might even get slower code

04.08.2025 20:48 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
screenshot of a snippet of Lean code running a tactic bfind, with a head pattern and a string and a nat and returning a list of debug results about matching theorems.

screenshot of a snippet of Lean code running a tactic bfind, with a head pattern and a string and a nat and returning a list of debug results about matching theorems.

it seems like no rocq power users actually use Lean so the ecosystem is missing a bunch of imo essential features

...which make for incredibly tempting rabbitholes for the otherwise idle postdoc

04.08.2025 20:46 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

oh noes my heckin compilerinooos

04.08.2025 20:42 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

all the reviews for the OCaml workshop came in!! and on time!!!

omg I love my PC~

04.08.2025 19:33 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

okay like these solutions are good but my point is that now there's more opportunity for mistakes - the increased redundancy (passing the three elements each time, or calling the recursive function) is the problem

for a function of this length it's probably fine

04.08.2025 18:16 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

yes, the naming all three outputs in each match arm is the problem, the redundancy leads to more possibilities for errors

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

indeed but it'd be a lot more ugly and prone to error as I need to manually make sure that only the specific element of the tuple is modified in each case

04.08.2025 17:57 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

just one more type parameter bro... just one more....

04.08.2025 17:45 β€” πŸ‘ 4    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

inb4 8 parameter gadt solution with three ugly and completely unreadable folds

04.08.2025 17:45 β€” πŸ‘ 8    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
def splitConstraints : List Constraint -> (List Lean.Name Γ— List String Γ— List Lean.Expr) := fun ls => Id.run $ do
  let mut idents := #[]
  let mut strings := #[]
  let mut pats := #[]
  for pat in ls do
    match pat with
    | .str s => strings := strings.push s 
    | .pat p => pats := pats.push p
    | .ident i => idents := idents.push i
  return (idents.toList, strings.toList, pats.toList)

def splitConstraints : List Constraint -> (List Lean.Name Γ— List String Γ— List Lean.Expr) := fun ls => Id.run $ do let mut idents := #[] let mut strings := #[] let mut pats := #[] for pat in ls do match pat with | .str s => strings := strings.push s | .pat p => pats := pats.push p | .ident i => idents := idents.push i return (idents.toList, strings.toList, pats.toList)

okay, you functional programming smart alecs. tell me how I could write this function in a more ergonomic way without a bespoke partion3 function.

face it. imperative programming mogs you sometimes

04.08.2025 17:43 β€” πŸ‘ 16    πŸ” 0    πŸ’¬ 7    πŸ“Œ 0

in practice however the tactics that you tend to end up building become large, unwieldy, brittle slow and all round just a pain.

looking through the Lean sources, the tactics users end up using are less bespoke and more unified and that seems to work well enough.

04.08.2025 17:29 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

oh like the biggest complaint I had when trying lean was the fact that writing metaprogramming takes a bit more effort than in Rocq, where Ltac makes it easy to write somewhat sophisticated proof automation tools

lazy match and match in ltac are really cool ideas in theory

04.08.2025 17:29 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

genuinely what the fuck is wrong with the UK? like dawg we can't even have fucking progressive/leftist politicians without including transphobia???? terf island lives up to its name

04.08.2025 17:24 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

yessss I didn't want to say it but aaaah what's going onnnnn

04.08.2025 17:20 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Aspect-oriented programming - Wikipedia

Aspect-oriented programming is the biggest one I remember off the top of my head

it used to be a huge hype in the PL community a decade ago (according to my advisor) but apparently died out when people slowly realised it wasn't actually useful for anything

en.wikipedia.org/wiki/Aspect-...

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

end dei for your diet

04.08.2025 16:45 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

reading through the lean sources, it definitely feels like Ltac (and its derivatives[1]) were a mistake.

making it easy to do recursive backtracking search is just not a good idea apparently

[1] yes that includes you Mtac and Ltac2

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

Gianmarco cover up those arms you have a girlfriend smh

04.08.2025 16:41 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@kirancodes.me is following 20 prominent accounts