Come join us for another day of geeking out over functional programming! The FPIndia May meetup is here!
https://hasgeek.com/fpindia/bangalore-fp-may-meetup/
#Bangalore #FunctionalProgramming #FPIndia #Meetup #India #Haskell #PureScript #OCaml #Elixir #Clojure #Scala
Is there any org in #Bangalore that would like to lend their space for an #FPIndia meetup? Please dm
#India #FunctionalProgramming #Meetup #Haskell #PureScript #Erlang #Elixir #OCaml #Scala #Clojure
If you’re a #haskell user or a proponent of #functionalprogramming please consider donating to the #Purescript project to keep it alive.
It’s a fairly obscure project but, IMO, it is THE language for web #frontend.
On top of that, the backend was recently rewritten in #ChezScheme which tends to be very popular choice in the #formalmethods world due to its rigor.
I see #ghcjs nipping at its heels but IMO, PS will always be a more bespoke and opinionated tool.
Whelp. Just got let go. They actually disabled my account while I was in the exit interview. Corporate IT is _cold_.
Anyway, I guess I'm looking for a new position maybe even be #FediHired ?
I have to live in Cove, AR with my disabled family, so it will probably need to be 100% remote.
I'd prefer to keep doing #Haskell or try out #PureScript in production, or even something more exotic like #Agda or #Idris
Full stack #PureScript
Ready to geek out over functional programming? Join us for the upcoming FPIndia Bangalore meetup!
https://hasgeek.com/fpindia/bangalore-fp-april-meetup/
#Bangalore #FunctionalProgramming #FPIndia #Meetup #India #Haskell #PureScript #OCaml #Elixir #Clojure #Scala
As promised above, I've made a demo todo app for the style/architecture I described in a previous series of posts ; https://dicioccio.fr/purescript-minitools-architecturedemo.html (the code: https://github.com/lucasdicioccio/purescript-minitools-architecture-demo ) + I've opened the set of "bricks" (i.e., bulma-css style "components").
Filmmaker with 25 years of experience in pro cinematography looking to transition to a stable career in:
A.) software engineering with a focus on #functionalprogramming and #functionalreactiveprogramming using #Haskell #Purescript #Scala #Rust
B.) #devops leveraging my skills in #nix #nixos and #flakes
C.) Corporate IT and or Linux #sysadmin
Had a very very typical of #Haskell moment (Well actually #PureScript but that's besides the point)
I had an applicative parser `process <$> Parser a <*> Parser b`. Then had a refactoring to be done where some part of the `a` was going to be read earlier in the pipeline. So I did the minimal thing and changed the parser for `a` to be a parser for `e -> a`. So now I was stuck with how to compose it with the parser for `b` neatly without changing a lot of logic. Basically I had a pipeline of the type `(a -> b -> c) -> Parser a -> Parser b -> Parser c` and I needed it to be converted to a pipeline of the type `(a -> b -> c) -> Parser (e -> a) -> Parser b -> Parser (e -> c)`. See how the "environment" `e`, just got lifted out? On a whim I added a type hole in front of process, and it told me that collect was a valid fit, and sure enough `collect process <$> Parser a <*> Parser b` does what I want! Minimal changes to the code, and saved me 15 minutes of tinkering, juggling variables around.
So how does it work?
`collect :: (a -> g b) -> f a -> g (f b)`
What I effectively needed was `(a -> c -> b) -> (e -> a) -> c -> e -> b`
If you squint, you can see that this is satisfied for `g === (c ->)`, and `f === (e ->)`. i.e. both `g` and `f` are the function functor.
#FunctionalProgramming with #StrongStaticTypes, #TypedHoles, and a standard library of patterns (a.k.a. #TypeClasses) like Distributive, is a super power.
I have a #Linux machine with 32GB RAM and barely use 8GB of it. I run #Firefox with hundreds of tabs, open #Haskell, #Rust, and #PureScript projects all at the same time. Have #Telegram and #Discord apps running, and the memory usage still hovers around 8GB.Seems like I should be using Docker and Kubernetes just to feel like I'm using my machine to its potential
Would it be insane to create a git repository that has #Haskell, #Purescript, AND #Idris packages in it?
My main concern is that some of the package distribution tooling I've dealt with seems to assume/prefer the package is at the top-level of the git repo.
Should I be using *submodules*!? (Plz, no!)
I think it's going to be informative to keep the packages coherent, and one repo seems like it could be a way to do that.
Worked around the #PureScript typechecker and finally I have an example of full dependent types with type level naturals. Implemented without unsafeCoerce or FFI
https://forge.id1.in/aj/purescript-singletons/src/branch/main/src/Singletons.purs
Started writing a singletons (a.k.a. poor man's #DependentTypes) implementation for #PureScript.
Not everything works yet, I'm running into what seems to be a PureScript bug/limitation, but it looks promising.
https://forge.id1.in/aj/purescript-singletons/src/branch/main/src/Singletons.purs
An excellent data visualisation project, written using #PureScript https://github.com/explorable-viz/fluid