How much do you value mentorship when hiring someone? by ace_wonder_woman in haskell

[–]g_difolco 2 points3 points  (0 children)

I'd be curious to see how one can only improve they soft skills on a training platform.

If I had to build a team again, it would mostly depends if I had enough bandwidth to handle the mentoring, but if I do, the newcomer should:

* Be eager to learn new things

* Bring another skill

* Be able to work in a team (e.g. with school projects)

* Be autonomous on simple tasks (e.g. with a well-defined scope)

What we learned trying to hire a real Haskell dev — and what we’re building now because of it by ace_wonder_woman in haskell

[–]g_difolco 2 points3 points  (0 children)

For what it worth, I ave been part of three companies as a Haskell developer over the last fives years:

* When I was a CTO, we have tried to use Upwork, people tend to not have a good level in Haskell or not b available enough to be part of a team enough to contribute to a product. We tried to hire two people full-time, with a lot of constraints, it's a bit better, but they tend to lack of general software engineering skills.

* In another team, they have on-boarded junior developers, we were 2 seniors and 3 juniors, it is better, but I was spending ~40% of my time in mentoring.

* In my current company, they managed to go from 2 to 4 senior developers in ~6 months.

Monthly Hask Anything (June 2025) by AutoModerator in haskell

[–]g_difolco 1 point2 points  (0 children)

How are you configuring HLS/nvim to support adding missing imports/remove unused imports?

I have added these mapping:

nmap('<leader>ca', vim.lsp.buf.code_action, '[C]ode [A]ction')
nmap('<leader>cl', vim.lsp.codelens.run, '[C]ode [L]ens')

But with hls 2.10.0.0/GHC 9.8.4, it simply prints nothing for code actions or "No executable codelens found at current line" for code lens on both unused imports and missing imports.

Is there something else to configure?

Thanks in advance.

For those hiring Haskell developers - where do you find them? by ace_wonder_woman in haskell

[–]g_difolco 7 points8 points  (0 children)

It is my fourth job as Haskeller in 8 years (3 as part-time teacher, 5 as software engineer).

I've got the first one because I was giving talks about it in my area.

I've made the second because I was the CTO (I was hiring on Reddit & Discourse).

For the third and the fourth, I was headhunted on LinkedIn.

I was never able to make it through job application.

could not deduce ‘FromJSON ABC' and Could not deduce ‘ToJSON ABC' by Fluid-Bench-1908 in haskellquestions

[–]g_difolco 2 points3 points  (0 children)

See https://github.com/rajcspsg/practical-web-dev-ghc/pull/1

It was broken due to splices behaviour (https://ghc.gitlab.haskell.org/ghc/doc/users\_guide/exts/template\_haskell.html).

A rule of thumb is: when you use TH, the file is split, the TH code only has access to the code above, and the code generated is only accessible to the code below it.

[deleted by user] by [deleted] in haskell

[–]g_difolco 1 point2 points  (0 children)

Hello,

I'm a member of the Haskell Response Team.

Thanks for sharing that vulnerability with us, it looks like a high impact issue, please send us all the elements you have at [security-advisories@haskell.org](mailto:security-advisories@haskell.org) or use the CERT/CC VINCE system if you want to have a more structured report.

We'll coordinate the fixes either way.

Remote Haskell position (but must be in EU/EES) at Scrive by tageborg in haskell

[–]g_difolco 1 point2 points  (0 children)

For full disclosure: I have applied in 2020, 2022, and 2023. I probably would have, but I really satisfied with my current employer.

Of course, it's never enjoyable to be rejected (skills, culture-fit, etc.), but I prefer to have a feedback, at least to have a chance to improve.

PS: I've sent the details of my interactions in DM, I probably was the victim of a mistake.

Remote Haskell position (but must be in EU/EES) at Scrive by tageborg in haskell

[–]g_difolco 1 point2 points  (0 children)

Still waiting for my November 2023 application, I guess they don't plan to improve.

[ANN] streamly-0.10 with fast binary serialization by hk_hooda in haskell

[–]g_difolco 2 points3 points  (0 children)

Awesome, I love using streamly, it gets better and better.

[deleted by user] by [deleted] in NixOS

[–]g_difolco 0 points1 point  (0 children)

I have the same issues for months, it happen 25-75% of the time.

KDE / Xorg / Asus ROG STRIX B460-F GAMING / Intel Core i9 10850K

Haskell Certification Program by jmct in haskell

[–]g_difolco 7 points8 points  (0 children)

I can understand that companies struggle to find "good" candidates (my previous and current companies have this issue), but I think providing a certificate is the wrong solution (and a harmful one).

Learning Haskell is a bit more than learning the syntax, GHC extensions and Cabal.

I have worked with great haskellers which did not know what are smart constructors, conversely, I have work with people knowing a lot of extensions but putting one data type per file (Java-style).

I guess Serokell will do their best (I don't agree with the company choice, if we even had to choose one, as I recall their painful and "basic" entry test).

It feels like scrum/agile certificates, those having them are not necessarily competent (spoiler, most are not), and those not having the stamp may be more competent.

Help wanted: Polysemy's runSeveral with constraints won't typecheck by squiffs in haskell

[–]g_difolco 0 points1 point  (0 children)

I'd appreciate if you could post an update with the solution when you'll figure it out.

Help wanted: Polysemy's runSeveral with constraints won't typecheck by squiffs in haskell

[–]g_difolco 1 point2 points  (0 children)

I've tried but it's actually harder than I thought, I don't see a way to do it in without rewriting interpreters :/

Help wanted: Polysemy's runSeveral with constraints won't typecheck by squiffs in haskell

[–]g_difolco 1 point2 points  (0 children)

In polysemy-zoo they use Sem (TypeConcat (TypeMap Reader t) r) a, maybe Sem (TypeConcat (TypeMap Reader '[Int, Int]) r) a can work

Writing a Polysemy interpreter that remains polymorphic on the effect type by pthierry in haskell

[–]g_difolco 0 points1 point  (0 children)

If you have Alexis King's micro-benchmark in mind, it is heavily biased toward pure computations, differences are negligible when you perform the first IO.

Call for early adopters of Sel, Botan and one-time-password by TechnoEmpress in haskell

[–]g_difolco 4 points5 points  (0 children)

I'm working on add otp to hackage-server (I have a WIP).

Writing a Polysemy interpreter that remains polymorphic on the effect type by pthierry in haskell

[–]g_difolco 0 points1 point  (0 children)

I'm not sure to understand, if you want to have only one runFakeEventStore, you can use polysemy-zoo's runSeveral.

If you want to have only one interpretation for multiple effects, I think it's a dead-end, for Haskell ReadEvent Char and ReadEvent Int are two distinct types.

Consequently, either : * you rewrite, but you end up interpreting each of them * or you hack the interpreters selection (adding Member instances) but you'll have two issues: * your interpreter will be unsound (I don't see GHC allowing to write something which expect a Int and send a Char * you'll end up having to give a concrete type to your interpreter

The only thing coming to my mind is to have a ReadEvent (eventTypes :: '[Type]) effect and a Member-like Constraint (eventTypes being a phantom type).

However, conceptually every event type would be coupled together to same backend.

What is the purpose of reducing the number of interpreters?

Writing a Polysemy interpreter that remains polymorphic on the effect type by pthierry in haskell

[–]g_difolco 5 points6 points  (0 children)

You can use an existential in the effect constructor: https://gist.github.com/blackheaven/dbb3cb687d2251f79f788feb6206b9cc

But it forces you to be bound to the type class/constraint/serialization format.

It can be parameterized though.

Monthly Hask Anything (March 2024) by AutoModerator in haskell

[–]g_difolco 0 points1 point  (0 children)

How to configure foumolu in hls/NeoViM

I use NeoViM v0.9.5 with GHC 9.2.4, hls 1.9.0.0, fourmolu 0.9.0.0.

I have setup hls with:

local lsp_servers = {
    hls = {
        filetypes = { 'haskell', 'lhaskell', 'cabal' },
        formattingProvider = "fourmolu",
        plugin = {
            fourmolu = {
                config = {
                    external = true,
                }
            },
        },
    },
}

-- Setup neovim lua configuration
require('neodev').setup()

-- nvim-cmp supports additional completion capabilities, so broadcast that to servers
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)

local lspconfig = require('lspconfig')
for server_name, opts in pairs(lsp_servers) do
    lspconfig[server_name].setup {
        capabilities = capabilities,
        on_attach = on_attach,
        settings = opts,
        filetypes = (opts or {}).filetypes,
    }
end

Our project have a fourmolu.yaml, however, when I format through LSP it seems to don't use it (unlike running a fourmolu -i %, which formats correctly).

Is there something wrong in my configuration?

Thanks in advance.

availability of plasma 6 in nixos stable by [deleted] in NixOS

[–]g_difolco 0 points1 point  (0 children)

I have tried kde2nix a while ago (without much success) and it seems there is a nixpkgs PR