@exa@mastodon.online
@exa@mastodon.online avatar

exa

@exa@mastodon.online

postdoc (programming languages, haskell, bioinformatics) https://github.com/exaexa

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

exa, to Youtube
@exa@mastodon.online avatar

so if you enable ads for to avoid having to go for premium, it instantly gives you an ad for youtube premium 🤪

foone, to random
@foone@digipres.club avatar

The real original sin of C isn't NULL, or void*, or array indexing, or strcat...

It's signed integers.

exa,
@exa@mastodon.online avatar

@foone

clears throat

the nonsigned char

hosford42, to random
@hosford42@techhub.social avatar

Did you know that evolution can take place with zero competition? There are only 2 ingredients necessary for evolution: mutative reproduction (organisms having kids that resemble but aren't identical to them) and trait-dependent reproductive success. Competition for resources is only one of many ways that reproductive success can be trait-dependent. Often the primary selection pressure comes not from peers, but from the environment itself. And often selection pressure from peers is positive, meaning that cooperation benefits reproductive success. The whole notion that evolution means the world is dog-eat-dog is a misunderstanding of what evolution actually is. Remember this the next time you have to interact with your local racist, ableist, self-proclaimed "uberman", or other people supporting eugenicist ideas.

exa,
@exa@mastodon.online avatar

@hosford42 b b but..resources are finite

exa,
@exa@mastodon.online avatar

@hosford42 ah yeah, like this it makes sense... but doesn't the same apply in greater scale then? like, we evolved a civilization but I do recall few other civilizations getting absorbed/erased already in that process

exa,
@exa@mastodon.online avatar

@hosford42 Ah so. My point was more like the whole thing didn't check out to me without resource limits and (thus unfortunately always implied) competition.

C.f. unrestricted bacteria growth can fill the observable universe in like 200 hours or so.

Anyway yeah, the cooperative strategies DO work and the isolated species/individuals view makes absolutely no sense (to the point of being savage), esp. given all higher humankind goals now require very elaborate cooperation.

exa,
@exa@mastodon.online avatar

@hosford42 Agreed, no worries, looks like I overdid my answer there... (see other post)

Btw it would be great to know if point B or C is better, right?

exa, to random
@exa@mastodon.online avatar
xChaos, to random Czech
@xChaos@f.cz avatar

Vtipné je, že jsem Pellegriniho ani nenašel na "seznamu slovenských politiků"... a to byl 2 roky premiérem...

List of Slovak politicians - Wikipedia
https://en.m.wikipedia.org/wiki/List_of_Slovak_politicians

exa,
@exa@mastodon.online avatar

@xChaos protoze je na seznamu madarskych politiku?

exa, to RPG
@exa@mastodon.online avatar

So today I found there are whole RPG games implemented in plain

BindRPG "escape from the horde" looks just cool
https://gitlab.com/bindrpg/oneshot

exa, to haskell
@exa@mastodon.online avatar

q: are there any small and living haskell implementations with power at least partially close to ghc? (e.g., vectors, concurrent IO and TyFams)

( reasons )

exa,
@exa@mastodon.online avatar

@nomeata haha currently trying to implement a small STG in assembly, it can now make and eat a list without tripping over itself... No idea yet on how to continue :D

hmans, to random
@hmans@norden.social avatar

Twitter/X: Nazi GoFundMe

Mastodon: nerds who barely understand how Mastodon works telling normies how they're using Mastodon wrong

Bluesky: a bunch of protocol geeks trying to also create a nice app... and failing

T2: yeah I'm not making it up, it actually exists, can't blame you for never hearing about it before

Threads: operated by company with worst privacy track record on the planet, resulting in it not even launching in the EU

The state of text-based social media hurts my brain

exa,
@exa@mastodon.online avatar

@hmans as usual, stuff is destroyed by:

  • nerds who lack self-control in basic communication
  • businesses that aim for revenue generation (ie. all actual businesses)
  • combination of the above

maybe about time to avoid these precise factors

Amirography, to haskell

Haskell. Its tool chain and version management pose significant hurdles, admittedly.
While the language itself inspires wonder, I must confess that the tooling falls short when measured against the high standards set by contemporary languages like Go and Rust.
In all fairness, we should recognize its historical context, where Haskell competed with C. From that perspective, its advancements were indeed commendable, and it's miles ahead of the rather "horrible" tooling in C.

exa,
@exa@mastodon.online avatar

@Amirography
Man, when in history Haskell ever actually competed with C? Also can you cite some of the shortfalls of the tooling? The GPTish lack of reference in your claims leaves me wonder.

exa,
@exa@mastodon.online avatar

@Amirography ah yes LSP, that's borked beyond recognition by design. I just use the terminal tools and primitive syntax highlighters, never spotted an actual error (and actually feel more productive than with IDEs because of pushing myself out of IDE pitfalls)

exa,
@exa@mastodon.online avatar

@Amirography hm "neumann legacy" is kinda weird even with C. Is it actually a competition though? There are literally things that you can do with one approach but are literally unthinkable in the other one (but that's ok because no one would sanely choose to do so anyway). Imagine implementing pandoc imperatively versus say pv functionally... :D

exa,
@exa@mastodon.online avatar

@Amirography ...that said, it is interesting to see the core reasons for the brokenness there (IDEs and LSP protocol don't really care about environment configuration except for a few dialog configs, forcing the authors to assume stuff and break othercs assumptions)

exa,
@exa@mastodon.online avatar

@Amirography There's actually plenty of emotion out there on the role of stack in the ecosystem -- it is unifying the environments for a price of assuming stuff and splitting the ecosystem.
. which somehow suits some programmers while others can't stand it (I'm in the other half). I guess programmers differ.

exa,
@exa@mastodon.online avatar

@Amirography ok depends "which time" though...back then before usable cabal (mid 2000’s) there's been perl, PHP, java, few remaining prologs, veeery good lisps, plenty of magical closedsource C++libs, and a few other things with pretty good packaging systems (relative to the standards back then). C packages kinda exist as the "autoconf" ones, these are in use to date with no significant change in sight, but that's hardly a C language-related effort, more like unix/gnu distro related.

exa,
@exa@mastodon.online avatar

@Amirography haha well, I realized that the only cure is to have no tooling.. every help from an IDE I got has ever since turned into a thing I failed to learn and had to debug later. Painful to start tho. (also, do you know about typed holes right? these magically replace like 99% typical ide use for me :D)

exa,
@exa@mastodon.online avatar

@Amirography Yeah, totally, I've got students learning this in a "slow course" over a semester without significant problems. Let me elaborate ...

exa,
@exa@mastodon.online avatar

@Amirography 1] haskell compiler can be used as a code query tool (and you can help yourself a lot using ghci if you don't like reading error messages). Try typed holes. Generally the language there helps you to build intuition by having the basic concepts done right. No idea how long you've practiced, but at the end the practice of just taking 20ish higher-level monadic combinators, arranging them on 1 line and getting a working&correct program after fixing the 1st compiler error is "common".

exa,
@exa@mastodon.online avatar

@Amirography 2] the optional status of the LSP is keeping the tooling extensible and sustainable. The LSP server is a moloch, and existence of molochs directly prevents development of alternate approaches to the issue (check out e.g. Agda workflow). Eventually we'd love to have something totally lightweight which just does the trick™. We're not there even with the compiler yet; standardizing the LSP would IMO make any new development in the right direction completely impractical.

exa,
@exa@mastodon.online avatar

@Amirography (btw the "unix philosophy" lessons kinda apply here: 1] LSP is complex and doesn't really help automation. 2] If you fail to code because your code is too complex, just write simpler code.)

exa,
@exa@mastodon.online avatar

@Amirography and extra note regarding the "web development" -- it is a common pitfall with haskell that beginners choose advanced libraries (say servant+selda for web) for simple tasks. They will fail because of the lack of required intuition, and LSP is only going to delay the realization of failure because it will make it look "doable". Most libraries have a beginner friendly counterpart (in this case I'd say scotty+sqlite-simple) that Just Works and already gives better power than e.g. Flask.

exa,
@exa@mastodon.online avatar

@Amirography ah yeah discovery... I sometimes just copypaste a type of something I need to hoogle and it usually just works :)

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