@mangoiv@functional.cafe
@mangoiv@functional.cafe avatar

mangoiv

@mangoiv@functional.cafe

Your average Haskell + Nix person; I am interested in modern functional programming languages like lean4 and koka, recently also elixir.

Currently finishing Bachelor's and writing Haskell for wire messenger.

Sometimes I build mechanical keyboards.

I am interested in discussions if the goal is to learn something, if you're just trying to persuade me, please leave me alone.

I will post in English and will occasionally boost German (network-)politics related things.

he/him is fine

This profile is from a federated server and may be incomplete. Browse more on the original instance.

mangoiv, to haskell
@mangoiv@functional.cafe avatar

My favourite row polymorphism package is aeson

mangoiv, to random
@mangoiv@functional.cafe avatar

Hey guys, I made a thing:

https://git.mangoiv.com/mangoiv/haskell-note

It is a (somewhat wip) pastebin microblogging style written in Haskell using fused-effects, servant, one-time-password, lucid2, htmx, styled with bulma v1.

There’s a nixos module you can use to get it running on your machine.

My instance is hosted at https://bin.mangoiv.com/

mangoiv, (edited ) to random
@mangoiv@functional.cafe avatar

Who’s coming to ZuriHac?! I’m so excited!

mangoiv, to haskell
@mangoiv@functional.cafe avatar

Out:
(A -> D) -> B -> C -> D

In:
(A -> (D, B, C) ) -> D

mangoiv, to haskell
@mangoiv@functional.cafe avatar

Shoutout to @hecate for https://flora.pm/.

It’s just so awesome to have a fast, modern UI for hackage that really suits all your needs!

mangoiv, to NixOS
@mangoiv@functional.cafe avatar
mangoiv, to NixOS
@mangoiv@functional.cafe avatar

sudo is unmaintained on

all thanks to the great work of the determinate systems community.

mangoiv, to random
@mangoiv@functional.cafe avatar

Tomorrow the process against the fascist Bernd Höcke starts in Halle, he used a forbidden slogan of Nazi Germany’s SA.

I will be there to stand against the Nazis he has invited from all over. Please come if you have the chance and stand in for a well-fortified democracy in Germany!

https://www.halle-gegen-rechts.de/482-afd-stoppen-juristisch-politisch-gesellschaftlich.html

mangoiv, to random
@mangoiv@functional.cafe avatar

Thank you @pluralistic for this blogpost, I will now refer everyone who wants to talk about their lord and savior the almighty AI to this:
https://pluralistic.net/2024/04/01/human-in-the-loop/#monkey-in-the-middle

mangoiv, (edited ) to haskell
@mangoiv@functional.cafe avatar

Is it just me or is this whole thing about „don’t do X if you don’t really know what you’re doing“ really counter productive? Many people live in fear of X now and don’t start thinking if X is an actual problem or learn what the problems are that could rise from X.

I see this very often in the ecosystem where the solution to doing X properly is often learnt in a few minutes investigation.

mangoiv, to NixOS
@mangoiv@functional.cafe avatar

meeting notes from today's board meeting, the only topic they talked about was the sponsorship policy:

https://discourse.nixos.org/t/open-board-call-2024-03-20/41898

mangoiv, to haskell
@mangoiv@functional.cafe avatar

Hi! Ever wanted to check your cabal projects against the haskell security-advisories database?

Now it has become possible; I have implemented the first prototype of an equivalent to npm or cargo audit, cabal-audit and it now it is in a usable state:
https://github.com/haskell/security-advisories/pull/148
there is two ways to run it:

  1. install from source with cabal
  2. (more convenient) nix run github:mangoiv/security-advisories/mangoiv/hsec-cabal#hsec-cabal

soon (next cabal release) this will also work as a plugin, i.e. cabal audit will use the cabal-audit binary in your PATH thanks to @yvan who made that possible.

Tell me if you like it ;)

mangoiv, to NixOS
@mangoiv@functional.cafe avatar

foundation has approved that the following event will be the right place to discuss the new sponsorship policy and get information about decisions around it.

I’m looking forward to it! I’m hoping for a constructive and civilised discussion.

https://discourse.nixos.org/t/nixos-foundation-board-open-board-meeting-2024-03-20/41209

mangoiv, to random
@mangoiv@functional.cafe avatar

Don’t host your own mail server.

Don’t do it.

If Google decides it will be the only one not accepting mails from you 50% of the time, then you won’t be sending mail to 90% of your customers. 🥲

mangoiv, to random German
@mangoiv@functional.cafe avatar

Somebody verschlimmbessered nixos-anywhere and now the target machine has crashed and is unbootable. Thank god I can just rollback to the last commit I know was working :)

mangoiv, to haskell
@mangoiv@functional.cafe avatar

I hope to add the todo function to the GHC's base Prelude and hence opened a proposal with the core libraries committee:

https://github.com/haskell/core-libraries-committee/issues/260

Please do not hesitate to leave a ❤️ and comment if you have something to say on this topic.

If you find any errors or weirdnesses in the proposal itself, please comment under this post, not the proposal.

Thank you!

mangoiv, to haskell German
@mangoiv@functional.cafe avatar

GHC2024 has landed on HEAD and will be part of GHC 9.10, notable changes include:

  • GADTs + MonoLocalBinds
  • DataKinds
  • LambdaCase

Sadly no BlockArguments (Haskeller appear to love their dollars) and TypeData (time hasn’t come I guess)

Also thank god no ImpredicativeTypes and TypeFamilies

https://gitlab.haskell.org/ghc/ghc/-/merge_requests/12084

Also please thank @nomeata for pushing this forward! 👏

mangoiv, (edited ) to random
@mangoiv@functional.cafe avatar

what would interest me is; how do you actually transfer imperative datastructures to functional ones; I have made the experience, that there are some mutable datastructures that are hard to find replacements for and one of them I once got so stuck on that I gave up finding an alternative for.

If you wanna riddle yourself, then here are the requirements: random access in O(1), including updatescons and snoc in O(1)

The imperative version of that datastructure is a simple mutable doubly list; random access is done by storing the pointers to the places you want to access and then just mutating the parts of the list in place; snoc and cons are just inserting a new element.

Thanks for the video again @kosmikus :)

https://www.youtube.com/watch?v=WHVMjMIJnB4

mangoiv, (edited ) to haskell German
@mangoiv@functional.cafe avatar

Instead of doing something sensible I spent my Saturday on making an alternative hoogle web frontend with focus on simplicity, prettiness and speed.

Try it out on https://hoogle.mangoiv.com and tell me if you like it.

Code can be found at https://git.mangoiv.com/mangoiv/modern-hoogle

NixOS module pending

mangoiv, to random
@mangoiv@functional.cafe avatar

@maralorn did you do something about the icons in nom? It looks much better now for some reason! Thank you for fixing that <3

mangoiv, (edited ) to random
@mangoiv@functional.cafe avatar

random stuff:
I have long ago started writing Haskell types like: newtype A = MkA {unA :: B}, to avoid punning. So far, so good. However, someone told me that writing this: f (MkA b) = ... is somewhat odd because you don't MkA, you only do that the other way around. So I have started doing this very cursed thing everywhere I have a MkA-like constructor: f (unA -> b) = ...

mangoiv, to random German
@mangoiv@functional.cafe avatar

I don’t remember @bobkonf to be that expensive - have you changed something? 🥲

mangoiv, to random German
@mangoiv@functional.cafe avatar

Hey @kosmikus perhaps something you will like: https://mangoiv.com/ghci-module/ depending on what you said on the podcast. Still a bit barebones still but the idea is what you’re describing :3

mangoiv, to haskell German
@mangoiv@functional.cafe avatar

https://haskell.foundation/podcast/43/

Super interesting podcast episode. Ivan Perez is interviewed by @wouter and @kosmikus. He’s a researcher at NASA who develops the copilot embedded domain specific language for monitoring state transitions of the software running on their devices.

mangoiv, to random German
@mangoiv@functional.cafe avatar
  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • GTA5RPClips
  • thenastyranch
  • tacticalgear
  • ethstaker
  • InstantRegret
  • DreamBathrooms
  • ngwrru68w68
  • magazineikmin
  • Youngstown
  • mdbf
  • khanakhh
  • slotface
  • rosin
  • provamag3
  • kavyap
  • everett
  • cisconetworking
  • Durango
  • modclub
  • osvaldo12
  • tester
  • Leos
  • cubers
  • normalnudes
  • megavids
  • anitta
  • lostlight
  • All magazines