Tom's Avatar

Tom

@lessp.dev

appreciator of intuitive UI experiences, functional programming, and outdoors. occasional music maker O'Cameleer @ ahrefs Stockholm, Sweden

624
Followers
119
Following
114
Posts
02.11.2024
Joined
Posts Following

Latest posts by Tom @lessp.dev

do you think its problematic?

30.03.2025 13:37 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

for me the biggest misconception is that you need to know the intrinsics of monads to be able to use them.

i likely know less about the rules of my mother tongue than people who've studied it, yet i'm able to use it fluently

30.03.2025 11:48 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

absolutely a blast to use, the only issues i've had are lsp-related but haven't really tried to debug

06.03.2025 16:48 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

US green card granted

26.02.2025 18:49 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

ah right, i think understand now. you were thinking more validating against the schema while teej's approach is essentially using ocaml as the source of truth

23.02.2025 10:57 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
x.com

teej is building something like this where the queries refer to user defined types and give inline type errors (etc)

x.com/teej_dv/stat...

22.02.2025 22:32 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

fwiw, reason supports named operators `let (let.bind) = Option.bind` (not sure the correct syntax but something along those lines at least), which i miss in ocaml

`let.bind x = …`
vs
`let* x = …`

22.02.2025 19:36 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

hard agree, it's rad

22.02.2025 19:30 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Hazel, a live functional programming environment featuring typed holes. Hazel is a live functional programming environment featuring typed holes.

hazel.org's syntax imo combines the best of both worlds

22.02.2025 19:02 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

bucklescript used |. for piping (pipe first) previously iirc

18.02.2025 17:25 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

ngl, i don't hate it, feels like there'd be a lot of ambiguity to handle when parsing though

List.(
user.books
. map do_smth
. keep do_smth
)

18.02.2025 17:24 πŸ‘ 1 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

for reasons unknown, i wrote a little article on getting to know ocaml by writing a simple diff checker

sketch.sh/s/i4HpNY61ih...

13.02.2025 18:10 πŸ‘ 0 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

absolutely yes!

09.02.2025 10:30 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Hazel is really cool

08.02.2025 23:13 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

haha, we know

25.01.2025 10:01 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

sounds like you're carrying quite the bladder

23.01.2025 20:18 πŸ‘ 3 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

they have instructions for lsp-setup on the preview page as well

18.01.2025 12:37 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

not sure how helfpul, but using the developer preview i use this, i'm sure there's some other way, but ocaml-lsp-server is installed automatically

`dune tools exec ocamllsp β€”`
`dune tools exec ocamformat β€”`

preview.dune.build

can very much recommend it, no more opam switches etc

18.01.2025 12:34 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
GitHub - lessp/react-ml-minimal-template Contribute to lessp/react-ml-minimal-template development by creating an account on GitHub.

wanted an extremly barebones setup to write ocaml + react (to js), perhaps it can be useful for someone else :) or ”get up and running with ocaml + react.js in under a minute”

github.com/lessp/react-...

18.01.2025 11:34 πŸ‘ 10 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0

the key for me here is that you can communicate that with more finesse and empathy, we're not robots yet :)

”hmm, have you tried looking at this from another angle? perhaps …”

18.01.2025 11:02 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

yeah, diffing the two

(* a.txt *)
foo

(* b.txt *)
bar

17.01.2025 10:19 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

diff a b
- foo
+ bar

17.01.2025 09:26 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

diff checker

17.01.2025 09:25 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Antonio πŸ₯Ή true MVP

14.01.2025 17:46 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Tablecloth has a fantastic API imo, would push for that

14.01.2025 13:17 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

it's priced in

08.01.2025 19:19 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

ocaml hype train confirmed

07.01.2025 13:50 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Sabine Useocaml, don't even have to change your bluesky handle

07.01.2025 12:43 πŸ‘ 2 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

go with your gut, and ”cross that bridge when you come to it” imo

ending up in these decision trees is a drag, i find it better to just go with an option even if it turns out it's not the best one :)

07.01.2025 12:34 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

yes, and the error messages are usually quite a mouthful

06.01.2025 16:35 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0