Programmer, University lecturer, and gamer. I’m also learning French and love any opportunity to practice :)

  • 1 Post
  • 132 Comments
Joined 3 years ago
cake
Cake day: June 1st, 2023

help-circle
  • I remember a promising study about Haskell as a first language several years ago. The much bigger problem is indeed documentation and building a curriculum for beginners than anything about the language itself (currying included – without background from another language you aren’t already stuck in the mental state of “every function is uncurried”).

    Haskell is my favourite language and I like LYAH but at the end of the day OCaml infrastructure for beginners is just better. LearnOCaml in particular. It’s a worse language but I get to focus on the “paradigms” part of my course without having to spend extra time teaching how to jump through Haskell’s hoops. (They’re good hoops, but if I covered them quickly, students wouldn’t see it that way, I think.)

    If we could get LearnHaskell or something and have it as easy to write exercises and configure, I’d seriously consider switching.







  • In terms of “computational complexity” we mean the following:

    Consider the following generalization of Sudoku. There is a number, N, and a grid of squares with N2 squares per side. (So the grid in total has N4 squares.) Each row and column of the grid has N2 squares. The grid therefore contains an N2 number of NxN subgrids (this corresponds to the 3x3 boxes in regular sudoku, called Houses). The puzzle is to fill each row, column, and house with the numbers from 1 to N2 with no duplicates.

    The complexity is then a measure of how much harder the puzzles get when N is increased. Sudoku is a classic example of a so-called “NP-Hard” problem. Most puzzles that people think of as difficult are NP-hard. The ELI5 is that given a claimed solution to a sudoku puzzle, you can check if it really is the solution quickly (where again “quickly” is in terms of N). This is not true for the hardest types of puzzles in the witness.

    This is only a proxy for how difficult humans will find the smaller puzzles but it’s remarkably accurate. The hardest puzzles using every mechanic from the witness (realistically, only using two of them including the last one) are going to be much harder for a human than the hardest sudokus.









  • Obra Dinn and outer wilds are two of my top 3 games ever made. If you liked outer wilds I’m pretty sure you’ll like Obra Dinn.

    Blue prince is great until you “win” the first time. After that, imo, it starts falling off. Slowly at first, then harder. I have completionist friends to whom I have given it negative reviews. But if you just want to win and explore the space for a while, even potentially hundreds of hours if you don’t use guides, it’s fun. Don’t start a game day aiming to work on something specific. Work on what comes your way, and it is easily possible to make substantial progress every single game day.



  • I don’t think anyone’s calling it a scam, but it’s pretty clear as an outside observer that a very specific point was questioned (about where JPlus fits into the existing ecosystem) and your replies have very little to do with that topic.

    Also, your replies really do look AI-written. I know it’s hard to be sure, but humans expressing a point don’t usually write summaries in the fashion of your replies and LLMs almost always do.

    Anyway, personally, if I have an existing application java program then maybe there’d be an argument to use a lightweight syntax extension to continue developing it more safely. But if I were starting a new project, whether a library or application, I would just use Scala or Kotlin from the get-go. The JVM platform is already versatile enough to get us much more than just some basic extra type safety and boilerplate generation. I’m all for static analysis tools, it’s just (again) hard to see what you get from JPlus that you can’t get from either groovy or a better language.

    Your replies don’t address that at all.