@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

AI (derogatory)

mangoiv, to random
@mangoiv@functional.cafe avatar
blinry, to random
@blinry@chaos.social avatar

Got collaboration working between VS Code and Neovim today! Really exciting! \o/

What features would you like to see in a tool like this? ๐Ÿง‘โ€๐Ÿ’ป

A VS Code window and a Neovim window are open next to each other. When you type in one window, it is reflected in the other window!

mangoiv,
@mangoiv@functional.cafe avatar

@afiestas I donโ€™t know if this does but tmate does-ish. Namely tmux.

mangoiv,
@mangoiv@functional.cafe avatar

@odo2063 @afiestas is this really how the joke goes ๐Ÿ˜…

mangoiv, to haskell
@mangoiv@functional.cafe avatar

https://bin.mangoiv.com/note?id=d98221a5-bc33-4ff9-b55f-a8011dd389a1

For ers using neovim I have a little treat to make their code lenses less ugly :ablobcatreachreverse:

(Thing is in nix, if you donโ€™t use nix, then you will know how to patch your neovim, I guess ๐Ÿ˜)

kosmikus, to haskell
@kosmikus@functional.cafe avatar

Later today, 2024-05-15, at 1830 UTC, join Edsko and me for the 25th episode of the "from to Haskell" live on .

https://well-typed.com/blog/2024/05/haskell-unfolder-episode-25-from-java-to-haskell/

mangoiv,
@mangoiv@functional.cafe avatar

@kosmikus awesome! We need more videos like this. I really liked it when Rae did it a few years ago, however, I think it had some issues wrt recognising that you do things differently in the different ecosystems.

mangoiv,
@mangoiv@functional.cafe avatar

@kosmikus ๐Ÿ™‚โ€โ†•๏ธ will do

https://m.youtube.com/watch?v=bPyR1ttdE7o <- this is the video

mangoiv,
@mangoiv@functional.cafe avatar

I liked it! Much more serious example and much more Haskell-looking translation.

mangoiv,
@mangoiv@functional.cafe avatar

@maralorn @kosmikus im pretty sure that was to replicate the behaviour of the Java version, no? Edsko did talk about examining the size of the critical region being the original motivation behind the Java code.

Using an MVar is using a lock. while the MVar is taken, no other Thread can take it.

mangoiv,
@mangoiv@functional.cafe avatar

@maralorn atomicModifyIORef doesnโ€™t seem to work very well here in particular, mind that we throw an exception in one of the branches. Tbh I think an MVar is the perfect fit here ๐Ÿ˜…

mangoiv,
@mangoiv@functional.cafe avatar

@maralorn oh, in my mind its a lock which also has a value, locking the MVar is taking it, unlocking it is putting it. Or, if you so wish, you can even do it in reverse.

As far as i understand what you normally call a lock is what weโ€™d call an MVar ().

kohnzn, to random German
@kohnzn@chaos.social avatar

moin

video/mp4

mangoiv,
@mangoiv@functional.cafe avatar

@kohnzn ๐Ÿ‘ Nike ๐Ÿ‘Cortez ๐Ÿ‘ Hund ๐Ÿ‘

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,
@mangoiv@functional.cafe avatar

@aka_dude i like it. I will perhaps rewrite in bluefin if I feel like it. Proper typed persistance abstraction would be first though, what I have now sucks.

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

Whoโ€™s coming to ZuriHac?! Iโ€™m so excited!

mangoiv,
@mangoiv@functional.cafe avatar

@jesper I was guessing this option would be rather unpopular but here we go! (Looking forward to your talk ;))

mangoiv, to random
@mangoiv@functional.cafe avatar
Taneb, to random
@Taneb@hacksrus.xyz avatar

Look at this dinosaur I drew

mangoiv,
@mangoiv@functional.cafe avatar

@Taneb 11/10 dinosaur would roar again.

mangoiv, to haskell
@mangoiv@functional.cafe avatar

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

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

mangoiv,
@mangoiv@functional.cafe avatar

I just realised in my real life example it is worse because d is an unconstrained type variable

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!

lyxia, to haskell
@lyxia@mamot.fr avatar

Bluefin-algae, an algebraic effect library using the Bluefin effect system.
https://discourse.haskell.org/t/bluefin-algae-algebraic-effects-in-bluefin/9470

mangoiv,
@mangoiv@functional.cafe avatar

@lyxia finally someone uses the native delconts! โค๏ธ
Thank you for making this :)

mangoiv, to random
@mangoiv@functional.cafe avatar

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

Making good progress but thereโ€™s so much boilerplate. I should write a framework.

Also quite tva pity you have to do everything yourself. Spent an hour just to be able to use TOTP with servant-auth

  • All
  • Subscribed
  • Moderated
  • Favorites
  • โ€ข
  • JUstTest
  • magazineikmin
  • Youngstown
  • osvaldo12
  • khanakhh
  • slotface
  • tacticalgear
  • InstantRegret
  • ngwrru68w68
  • kavyap
  • DreamBathrooms
  • thenastyranch
  • everett
  • rosin
  • provamag3
  • Durango
  • GTA5RPClips
  • ethstaker
  • modclub
  • mdbf
  • cisconetworking
  • anitta
  • Leos
  • cubers
  • normalnudes
  • tester
  • megavids
  • lostlight
  • All magazines