1
2
3
 
 

I'm learning FSharp by creating a web application. I've cycled through lots of different ways of doing things, libraries, etc. Today I finally got my integration tests to use a single docker test contaner with the Expecto test framework. I couldn't find a good example online of how to do it, so I'm sharing it here.

4
 
 

I wrote a blog post about me getting in to FSharp web application development, but am having issues deciding how I want the data access to look. I'm very much open to feedback!

5
6
 
 

cross-posted from: https://programming.dev/post/46518217

Links:

I created it mainly as a proof of concept that python's typing system is mature enough to support such a thing. The process was fun and I was able to help make remeda.js docs a bit better

The library is as typed as possible with my knowledge of python typing system, which means dict typing is kinda meh, but for iterables it is as good as in TS.

I decided to publish 1.X, since I've been adding a lot of stuff that "absolutely must be in 1.X" and got tired of the scope creep, so there is a bunch of TODOs, but they are "nice to have"s.

I'm planning to work on the TODOs and making the docs better now that I've managed to release it.

About the library:

It supports what remeda.js calls "data-first" and "data-last" approaches to calling functions. That means:

x = R.map([1, 2, 3], lambda i: i +1)
# is the same as
x = R.map(lambda i: i +1)([1, 2, 3])

which allows for a "fun" function composition:

import remedapy as R

R.pipe(
    [1, 2, 2, 3, 3, 4, 5, 6],
    R.for_each(print),
    R.unique(),
    R.take(3),
    list
)
# Returns [1, 2, 3]
# Prints:
# 1
# 2
# 2
# 3

Features:

  • as typed as possible, checked with basedpyright
  • 100% code coverage, but the tests could be a bit more exhaustive
  • docstrings for everything (they might require some work)
  • no AI, 100% Human Stupidity
7
8
9
 
 

cross-posted from: https://gregtech.eu/post/19047959

Specifically, I'm interested in BEAM, but I'm not sure if I should go for Elixir or Gleam. What seems cool about Gleam is that it has static typing.

I have no experience with functional programming at all btw