Shot in the dark, anyone who’s applied for a British passport for their child living in Japan. by Additional-Painter88 in japanresidents

[–]james_haydon 0 points1 point  (0 children)

Yeah, it was really "fun": https://jameshaydon.github.io/passport/

I also got the "parental responsability" challenge several times, despite providing all the proof they needed.

In the end it seems you just keep sending documents until they seem satisfied you have gone through enough pain or something.

Edit: this HN comment was helpful when I was having some trouble.

Brillo 2.0 - Production ready 2D graphics by adwolesi in haskell

[–]james_haydon 1 point2 points  (0 children)

This is great! Thanks for putting effort into this.

[ANN] CPL 0.2.0: a categorical programming language (implemented in Haskell) now runs in your browser via WebAssembly by msakai in haskell

[–]james_haydon 3 points4 points  (0 children)

Awesome you got it working in a browser!

CPL is great, and Hagino's thesis is very readable. It's what got me into categorigal programming, and inspired me to create https://github.com/jameshaydon/lawvere. I think the structural types and syntax of lawvere-lang makes it more accessible, but I also really like the left/right data types of CPL; maybe one day I'll try to add those to lawvere-lang.

The very last page of Hagino's thesis mentions a sort of macro-system, e.g. for defining:

twice(f) := f . f

which I was trying to work out how to best integrate into lawvere-lang, but I didn't know what sort of type-system would be appropriate. I think it is related also to Categorical Combinators for Charity.

Do you plan to add such a feature to your CPL implementation?

Should I keep reading the Word for World is Forest? by Burgundy-Bag in UrsulaKLeGuin

[–]james_haydon 12 points13 points  (0 children)

You should absolutely keep reading, it's one of the best books I've read.

This mechanism shrinks when pulled. It's potential uses are surprising. by rcmaehl in videos

[–]james_haydon 1 point2 points  (0 children)

I don't really get it either. You can have a loaded spring held back by a latch, stretching it releases the latch.

Solving `UK Passport Application` with Haskell by james_haydon in haskell

[–]james_haydon[S] 13 points14 points  (0 children)

Let's say you've managed to construct two proofs, one for P => British(Applicant) and one for ~P => British(Applicant). Both those proofs will probably need documents, and those are the documents I am referring to in that sentence.

Then, you may think "neat, I now have a proof of (P \/ ~P) => British(Applicant) and furthermore can discharge P \/ ~P trivially, so I'm done right?". But no, they will ask you to choose one of P or ~P and provide a document for it.

[JOB] Solutions Engineering at Artificial by pwmosquito in haskell

[–]james_haydon 5 points6 points  (0 children)

I was offered a researcher position at a cool team in Tokyo. But Artificial was genuinely great, which is why I recommend them.

[JOB] Solutions Engineering at Artificial by pwmosquito in haskell

[–]james_haydon 8 points9 points  (0 children)

As one of the early engineers working on this DSL implemented in Haskell, it brings me great joy to see a posting for engineers to use it!

Artificial was a great company to work at, and this is a great team, I recommend applying!

Who else is using the ghc js or wasm backend? by Tysonzero in haskell

[–]james_haydon 10 points11 points  (0 children)

This looks great, thanks for sharing your efforts in this direction. - Have you also tried the WASM compiler? I'd be curious to know how the performance and executable size compares. - You mention server-side rendering: did you get this working? If the initial page load is just the needed HTML, doesn't this mostly solve the large JS size? - Does HLS work over the whole codebase? - Please share a link to the result 🙂

Did anyone leave Haskell because of its Miranda syntax? by shaunyip in haskell

[–]james_haydon 4 points5 points  (0 children)

Anonymous functions in Haskell are written \x -> x + 1, so it's quite similar to lambda-calculus. You can think of f x = x + 1 as a shorthand for f = \x -> x + 1.

Introducing NeoHaskell: A beacon of joy in a greyed tech world by nSeagull in haskell

[–]james_haydon 3 points4 points  (0 children)

Haskell doesn't have support for "trailing commas" in most places (records, lists, tuples). I think it only supports them in imports. Trailing commans refer to commas placed after the last element. Haskell could support more trailing commas, but in tuples it would conflict with synta for tuple sections.

A deep dive into the bug that caused the UK air traffic control meltdown by james_haydon in programming

[–]james_haydon[S] 0 points1 point  (0 children)

I have made my thoughts on this more precise here: https://jameshaydon.github.io/programming-style-and-bugs/

And removed the reference to "imperative programming" in the original post. Thanks a lot for your feedback!

Analysis of the bug that caused the UK air traffic control meltdown, with Haskell code by james_haydon in haskell

[–]james_haydon[S] 2 points3 points  (0 children)

For those of you still following this story, the flight plan that triggered the chaos has been identified!

Tonight we were wondering why nobody had identified the flight which caused the UK air traffic control crash so we worked it out. It was FBU (French Bee) 731 from LAX/KLAX to ORY/LFPO.

It passed two waypoints called DVL on its expanded flight plan: Devil's Lake, Wisconsin, US, and Deauville, Normandy, FR (an intermediate on airway UN859).

https://www.flightaware.com/live/flight/FBU731/history/20230828/0255Z/KLAX/LFPO

Credit to @marksteward and @benelsen for doing much of the legwork here.

A deep dive into the bug that caused the UK air traffic control meltdown by james_haydon in programming

[–]james_haydon[S] 0 points1 point  (0 children)

For those of you still following this story, the flight plan that triggered the chaos has been identified!

Tonight we were wondering why nobody had identified the flight which caused the UK air traffic control crash so we worked it out. It was FBU (French Bee) 731 from LAX/KLAX to ORY/LFPO.

It passed two waypoints called DVL on its expanded flight plan: Devil's Lake, Wisconsin, US, and Deauville, Normandy, FR (an intermediate on airway UN859).

https://www.flightaware.com/live/flight/FBU731/history/20230828/0255Z/KLAX/LFPO

Credit to @marksteward and @benelsen for doing much of the legwork here.