Owen Lynch

1.3K posts

Owen Lynch banner
Owen Lynch

Owen Lynch

@u_map_prop

This is no longer an active account: see https://t.co/g9E26Tj999 or @[email protected] for any updates.

가입일 Aralık 2017
112 팔로잉580 팔로워
Owen Lynch
Owen Lynch@u_map_prop·
I've decided to leave twitter by changing my password and then deliberately forgetting it, so that my old tweets remain up but I will no longer have access to my account. You can find me on localcharts.org or @olynch" target="_blank" rel="nofollow noopener">mathstodon.xyz/@olynch.
English
0
0
11
472
Owen Lynch
Owen Lynch@u_map_prop·
@arntzenius nix-shell -E 'with import <nixpkgs> {}; mkShell { buildInputs = [(haskellPackages.ghcWithPackages (hpkgs: with hpkgs; [random]))]; }'
English
0
0
3
36
rntz
rntz@arntzenius·
I want to generate random numbers in Haskell for some exploratory programming. There's a `random` package to do this. Is there a way to use it without needing to create a goddam "project" with "dependencies"?
English
2
0
4
408
Owen Lynch
Owen Lynch@u_map_prop·
Today I learned about the HTML <q> element, which is used for inline quotations and has the neat property that when you nest, it can change from double quotes to single quotes! developer.mozilla.org/en-US/docs/Web…
English
0
0
3
289
Owen Lynch
Owen Lynch@u_map_prop·
I wrote about the philosophy that underlies Topos Institute modeling software: topos.site/blog/2024-10-3…. Also, it's a job ad; see the end for details!
English
0
10
30
2.6K
Owen Lynch
Owen Lynch@u_map_prop·
@kmett @joseph_h_garvin Oh yeah, definitely the getter/setter life is not fun. I mainly was thinking about newtypes like newtype Positive = MkPositive Int toInt :: Positive -> Int fromInt :: Int -> Maybe Positive
English
0
0
2
35
Edward Kmett
Edward Kmett@kmett·
I agree about making most things immutable where it makes sense is helpful for concurrency, but I endeavor to leave everything internal wide open regardless, because maintaining private internals in c or java is usually a path to 3x-7x as many lines of code for every thought you go to think when you factor the cost to build getter/setter pairs, etc. in exchange for _very_ limited refactoring gain, all paid fully in advance all based on the hypothesis users won't #define private public In C++ you also lose a lot of the benefits you get from having the structure be trivially constructible plain-old-data by loading down the constructor. (This calculus changes for types used for RAII, etc. though.) In general I'd rather fit more code on my screen and pretend private was a post-Smalltalk fever-dream delusion about how such encapsulation was desirable in practice and without cost. Your complex number type isn't going to refactor cleanly between polar coordinates and linear coordinates, the behavior at 0 will show through. Make two types, make a common concept so you can pass them to code that doesn't care, define interconversions, go about your day. If you have invariants by all means capture them as static_asserts or requires clauses whenever possible, though.
English
1
0
0
60
Joseph Garvin
Joseph Garvin@joseph_h_garvin·
"Make illegal states unrepresentable" I do when I can but almost all language support for this is incredibly weak. Can you lang express that a struct with two sum type fields can never both be the same value? Can you express one integer field must always be greater than another?
English
63
10
269
31.1K
Owen Lynch
Owen Lynch@u_map_prop·
@alicemazzy My nixos setup has every folder that is not explicitly marked in my config to back up deleted on every boot (because my / is a tmpfs). So every reboot is the new install experience. NixOS is the way.
English
0
0
1
125
alice maz
alice maz@alicemazzy·
guys if I want to complete the transition from "I have a server and vpn" to "my laptops are functionally disposable because I can reprovision new ones at will" should I start using nixos or just learn ansible
English
12
0
154
6.5K
Owen Lynch
Owen Lynch@u_map_prop·
@arntzenius @tangled_zans @jhemann I'm not 100% confident, but I do know that there's a lot of cool coinductive type stuff going on there. It's definitely not production-ready though.
English
0
0
1
32
rntz
rntz@arntzenius·
@u_map_prop @tangled_zans @jhemann No, you mean github.com/mikeshulman/na…? I hadn’t heard of it before. Are you confident this would work there? Otherwise I’ll probably not try given how experimental it looks - I don’t like writing code and discovering it’s no longer working a year later :P.
English
2
0
1
60
rntz
rntz@arntzenius·
Most lazy stream implementations are synchronous: one delay between each element, eg: data Stream a = Nil | Cons a (Delay (Stream a)) where Delay x = () -> x, for instance. But miniKanren instead uses *asynchronous* streams, with arbitrary delays between elements. [1/n]
English
1
0
13
578
Owen Lynch
Owen Lynch@u_map_prop·
This specific feature, the graph-rewriting, is enabled by the local mode that Yaron is talking about: it ensures that no reference to the graph escapes into the runtime of your app, so the graph can't be mutated after the startup of your app.
English
0
0
1
173
Owen Lynch
Owen Lynch@u_map_prop·
So far, the only UI library I know that explicitly support Mealy machines, and that does a graph-rewriting pass to optimize how state propagates through your app.
English
1
0
1
224
Matteo Capucci
Matteo Capucci@mattecapu·
switching to @obsdmd for my research notes (was able to export from Notion seamlessly), any plugins/architectures reccomendations?
English
6
1
16
2.2K
Orion Reed
Orion Reed@OrionReedOne·
My “Scoped Propagators” submission to LIVE got accepted! Thank you to the reviewers for the incredibly thoughtful and useful feedback!
Orion Reed tweet media
English
2
0
20
1.1K
Owen Lynch
Owen Lynch@u_map_prop·
@jtcbrule @krismicinski I mean, maybe "mainstream programming languages" have copied all the good stuff from... lisp 40 years ago. But there are tons of modern lisp dialects that have new stuff! Like correct handling of lexical scope for macros in Racket youtube.com/watch?v=ABWLve…
YouTube video
YouTube
English
1
0
1
58
Joshua Brulé
Joshua Brulé@jtcbrule·
@krismicinski @u_map_prop Lisp is... weird. The Lisp hackers were right that their language was superior, more "mainstream" programming languages spent the next 40 years copying the good stuff from Lisp and now, finally, Lisp isn't really that special.
English
1
0
2
40