@DiazCarrete@hachyderm.io avatar

DiazCarrete

@DiazCarrete@hachyderm.io

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

DiazCarrete, to random
@DiazCarrete@hachyderm.io avatar
DiazCarrete, (edited ) to haskell
@DiazCarrete@hachyderm.io avatar

"A strict binding (with a top level !) should not be thought of as a regular pattern binding that happens to have a bang pattern [...] on the LHS. Rather, the top level ! should be considered part of the let-binding, rather than part of the pattern."

I didn't know about this distinction! Found out about it when fiddling with linear let-bindings in GHC 9.10.1.

https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/strict.html#strict-bindings

https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/linear_types.html#bindings

https://www.reddit.com/r/haskell/comments/1d9kexm/comment/l7i5csk/

DiazCarrete, (edited ) to random
@DiazCarrete@hachyderm.io avatar

Good news! The issue with the black-box nature of LLMs has been solved, nothing to see here, move along.

Also, John Carmack doesn't particularly care about the issue in any case. Are you smarter than John Carmack?

https://x.com/ID_AA_Carmack/status/1799147185793348006

DiazCarrete, to Java
@DiazCarrete@hachyderm.io avatar
DiazCarrete, to haskell
@DiazCarrete@hachyderm.io avatar

Template Haskell tutorial (last updated 2021)

https://markkarpov.com/tutorial/th

image/png

DiazCarrete, (edited )
@DiazCarrete@hachyderm.io avatar

Some proposals:

Explicit Splice Imports https://github.com/ghc-proposals/ghc-proposals/pull/412

Pure Template Haskell https://github.com/ghc-proposals/ghc-proposals/pull/655

Unicode Syntax for Template Haskell splice https://github.com/ghc-proposals/ghc-proposals/pull/647

Add support for executing TH splices on the host platform during cross compilation. https://gitlab.haskell.org/ghc/ghc/-/issues/24339

Allow splicing Stmt https://gitlab.haskell.org/ghc/ghc/-/issues/24953

Name should be spliceable https://gitlab.haskell.org/ghc/ghc/-/issues/24922

DiazCarrete,
@DiazCarrete@hachyderm.io avatar

Another Template Haskell tutorial, also from 2021
https://serokell.io/blog/introduction-to-template-haskell

DiazCarrete, to random
@DiazCarrete@hachyderm.io avatar

Learning about user Authentication with OAuth 2.0
https://oauth.net/articles/authentication/
(I unironically like this post, it has cleared some confusion for me.)

DiazCarrete, to haskell
@DiazCarrete@hachyderm.io avatar
DiazCarrete, to random
@DiazCarrete@hachyderm.io avatar

about defunctionalization: "no need to worry about unspeakable horrors involved in serializing code + runtime closures"

https://discourse.haskell.org/t/serializing-haskell-functions-to-disk/9603/25

DiazCarrete, to accessibility
@DiazCarrete@hachyderm.io avatar

"ARIA is polyfill for HTML semantics"
https://x.com/SaraSoueidan/status/1791379249045053443

DiazCarrete, (edited ) to ComputerScience
@DiazCarrete@hachyderm.io avatar
DiazCarrete, (edited ) to haskell
@DiazCarrete@hachyderm.io avatar

I know that Megaparsec doesn't backtrack automatically and that you have to use "try" for that, but this behavior of "many" was unexpected. Why oh why doesn't it parse the final space?
https://stackoverflow.com/a/78355045/1364288
Maybe I didn't read the documentation thoroughly, but I don't think it's actually spelled out in the Haddocks?

DiazCarrete,
@DiazCarrete@hachyderm.io avatar

So, if I'm getting this right, parsing failures that consume input are treated differently from parsing failures that don't consume input, and only the latter interact in the expected way with combinators like "many" and "optional"?

DiazCarrete,
@DiazCarrete@hachyderm.io avatar

Ok, the heart of the matter is the Alternative instance on which the "many" and "optional" combinators depend.

As the docs say, "empty is a parser that fails without consuming input". So a parser that fails while consuming input can't be equated to "empty". I guess the moral of the story is that one should almost always use "try" with Alternative-y combinators.

DiazCarrete, to programming
@DiazCarrete@hachyderm.io avatar
DiazCarrete,
@DiazCarrete@hachyderm.io avatar
chris__martin, to random
@chris__martin@functional.cafe avatar

What if the underlying overhyped and overapplied technology underlying both blockchains and AI, the original solution in search of a problem that gave rise mostly to expensive toys, unreliable devices, and epic startup crashes, was microprocessors

DiazCarrete,
@DiazCarrete@hachyderm.io avatar
DiazCarrete, to haskell
@DiazCarrete@hachyderm.io avatar

Made a video: generating HTML in Haskell using "lucid2"
https://www.youtube.com/watch?v=SQ78GVCzsz0

DiazCarrete,
@DiazCarrete@hachyderm.io avatar

In which I completely mispronounce "lucid", among many other words.

DiazCarrete, to random
@DiazCarrete@hachyderm.io avatar
chris__martin, to random
@chris__martin@functional.cafe avatar

Tuples and curried functions are nice for toys, but they are industrial Haskell's worst enemy. If you're going to be able to jump into a big repo and understand stuff, you need to see record field names.

DiazCarrete,
@DiazCarrete@hachyderm.io avatar

@chris__martin It's way too easy to fall into the trap of adding yet another positional parameter to a function, rather than taking the effort of refactoring to a record.

A library that has been greatly improved by the use of records is Servant. Trying to define a big REST API without NamedRoutes seems like a chore.

DiazCarrete, to haskell
@DiazCarrete@hachyderm.io avatar

lots of info about HKD techniques in this thread

https://discourse.haskell.org/t/hkd-best-or-worst-thing-ever/9450

DiazCarrete,
@DiazCarrete@hachyderm.io avatar
DiazCarrete, to Java
@DiazCarrete@hachyderm.io avatar

The history of the concept of "bean" in Java frameworks. It has undergone quite a bit of drift!

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

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