Nice! Iβve been looking for a recording of her Fantaisie for harpsichord without any luck.
13.09.2025 15:44 β π 3 π 0 π¬ 0 π 0@thomasmarsh.bsky.social
FP, formal methods, urban planning
Nice! Iβve been looking for a recording of her Fantaisie for harpsichord without any luck.
13.09.2025 15:44 β π 3 π 0 π¬ 0 π 0What are the contenders you have in mind? What do you see as a good balance between rigorous types and architectural approaches?
05.09.2025 12:59 β π 1 π 0 π¬ 0 π 0Not suggesting testing is not needed. We employ unit tests, integration tests, type directed programming, semi formal methods (TLA+), and more rigorous proofs of correctness for specific sub problems. Right tool for the job. But tests are code you have to maintain and slow you down. Types help.
05.09.2025 12:24 β π 1 π 0 π¬ 0 π 0I agree it is necessary to always challenge these assumptions. Types feel slower at first, so you have a runtime error/flexibility tradeoff. In my experience types are always worth it. But it took me many years to arrive at that position.
05.09.2025 12:21 β π 1 π 0 π¬ 0 π 0These days, I mostly domain model in types and then the architecture and implementation trivially fall out of that, establishing the modularity the author seeks. He gives no methods. And his example ignores the static and dynamic testing rigor IC designers employ due to their lack of type safety.
05.09.2025 12:16 β π 2 π 0 π¬ 1 π 0Sure, find good modular boundaries and establish good contracts. If your system is static and very well understood you can build it in assembly if you want and harden it over time. But for anything else, types are the tests you donβt have to write.
05.09.2025 12:09 β π 1 π 0 π¬ 1 π 0Iβm always skeptical of βjust build software betterβ arguments. There is a spectrum of software correctness, and types are one of the cheapest approaches. The argument falls apart when system boundaries are incorrect and need refactor. The antipatterns mentioned (class hierarchies?) are now rare.
05.09.2025 12:07 β π 1 π 0 π¬ 2 π 0You can also just immerse the tube in the source and pinch it or cover one end of the tube with your thumb. Then pull out that end of the tube to a lower height and release your thumb to start the siphon.
24.08.2025 12:29 β π 0 π 0 π¬ 0 π 0Is this state machine thinking related to defunctionalization, which takes higher ordered functions (maybe in your type checking implementation) and turns them into state/action applications? Love the visualization!
20.08.2025 16:49 β π 1 π 0 π¬ 1 π 0I wrote my first Quint spec today. It was fun and easy to pick up! It's like TLA+ and TypeScript had a baby. Has some obvious room to grow: you have to be gentle with the syntax and type errors to get good diagnostics. Otherwise, seems like a good alternative to Alloy or TLA+ for simple specs!
16.08.2025 21:20 β π 3 π 0 π¬ 1 π 0I still have my copy of βHaskell: The Craft of Functional Programmingβ, which I picked up in the 90s and skimmed briefly. I decided at the time to invest in C++ and focused on good imperative programming until I came back to learn Haskell 18 years later out of curiosity.
05.08.2025 20:41 β π 1 π 0 π¬ 0 π 0I canβt remember the last time I was at a house where people kept their shoes on indoors. I think this has changed a lot. Everyone I know takes their shoes off and people almost always ask if they should take theirβs off when entering a house.
04.08.2025 21:03 β π 1 π 0 π¬ 0 π 0That should say 1600 CE, not 600. This whale effigy seems to be from the Montreal Museum of Fine Arts: www.mbam.qc.ca/en/works/2375/
27.07.2025 12:32 β π 15 π 1 π¬ 0 π 0I just learned enough ocaml to see how verbose the alternative to type classes is using modules and βfunctorsβ. Still wrapping my head around modules, but it definitely seems like code smell boilerplate to me. Are there other arguments against type classes?
18.07.2025 20:56 β π 2 π 0 π¬ 1 π 0I think the human propensity for pattern recognition was strong, but the timeless way of building was not yet established. GoF started with Volume 2.
13.07.2025 00:08 β π 1 π 0 π¬ 0 π 0βUpstate is anything north of 110th St.β is the joke answer.
01.07.2025 20:45 β π 2 π 0 π¬ 0 π 0You can also take a train to a beach and swim in the ocean. If you take the Q you get a nice view going over the bridge too. Coney Island is worth a visit. But itβs a ways out there. There are nicer beaches if you take the right A train to the rockaways.
25.06.2025 22:40 β π 1 π 0 π¬ 0 π 0Philip Zucker is my Z3 documentation.
24.06.2025 23:32 β π 2 π 0 π¬ 0 π 0NYC busses are underrated. The subway is oppressive compared to other city metros.π
24.06.2025 20:50 β π 2 π 0 π¬ 1 π 0Just Manhattan or are you planning to check out Brooklyn too? Enjoy your visit!
24.06.2025 20:49 β π 1 π 0 π¬ 1 π 0Did you by chance run across the linked paper here? I skimmed it, but it seems like a reasonable attempt at teasing out the limits of reasoning with respect to actual reasoning tasks.
11.06.2025 00:50 β π 0 π 0 π¬ 0 π 0Wish I could hear this talk. These bullets donβt make total sense to me. Some are known implementation patterns for feature flags, some suggest βjust build it right the first timeβ, and GoF could mean anything (and is mostly just partial application patterns). Still very curious though
05.06.2025 00:20 β π 1 π 0 π¬ 1 π 0Nobody cares about correctness and do cheap things first are great takeaways from this but this article illustrates these and other points especially well: www.galois.com/articles/wha...
25.05.2025 10:55 β π 12 π 2 π¬ 0 π 1Jason Hickle singled out China, not me. But you are right, you have to look at all company investments and holdings globally. Follow the money and only then can you make any claims about which countries hold most responsibility. I do think it is a misguided metric.
23.05.2025 11:11 β π 3 π 0 π¬ 0 π 0What is the new Erlang? (Please let it not be Kubernetes orchestration.)
23.05.2025 02:16 β π 1 π 0 π¬ 0 π 0If you take the perspective that much of advanced Haskell is working around lack of dependent types (like you would find in theorem provers), then I posit Haskell is indeed a gremlin language.
20.05.2025 22:29 β π 6 π 0 π¬ 0 π 0Disingenuous. You cannot make this claim without tracking indirect Chinese investments. Looking strictly at corporate domicile is absolutely pointless in our globalized economy
20.05.2025 16:51 β π 3 π 0 π¬ 1 π 0It is subtle but is builds flawed foundations. If you take arrays as input there is no confusion
18.05.2025 15:22 β π 1 π 0 π¬ 0 π 0Alice is absolutely right. A naive reading of this can correctly say the runtime is O(n^2), but that doesnβt paint the whole picture. For scaling we need to understand if you are measuring size (of an array) vs a number. One scales and the other is useless for large numbers.
18.05.2025 15:20 β π 1 π 0 π¬ 1 π 0I can barely find my way around tools like Rocq, Lean, or Agda, but I am really excited about this field of research! I am very much looking forward to your work!
13.05.2025 21:45 β π 1 π 0 π¬ 1 π 0