joeyh, to programming

type error that is designed to make me smile every time I have to deal with it

abnv, to programming
@abnv@fantastic.earth avatar

I ported @mattmight’s CPS conversion code (https://matt.might.net/articles/cps-conversion/) to and after some fighting with the type system, it worked! To make the interpreters work with the Cont monad, I had to remove recursive lets and hence, functions being able to call themselves recursively, but the rest works fine.

The attached images show the conversion of the Fibonacci function into the CPS version.

CPS version of Fibonacci function in Lisp: (let ([fib (λ (n k0) (let ([fib' (λ (n f k1) ((λ (k2) ((λ (v3) (if v3 (k2 0) ((λ (k4) ((λ (v5) (if v5 (k4 1) ((λ (v9) (f v9 f (λ (v6) ((λ (v8) (f v8 f (λ (v7) (k4 (+ v6 v7))))) (- n 2))))) (- n 1)))) (= n 1))) k2))) (= n 0))) k1))]) (fib' n fib' k0)))]) (fib 10 return))

yvan, (edited ) to programming
@yvan@functional.cafe avatar

While on my train 🚆 journey heading to 2023, and preparing for my participation in the GHC Contributors' Workshop tomorrow, I go through this visual introduction to RTS ( runtime) https://takenobu-hs.github.io/downloads/haskell_ghc_illustrated.pdf It's great! Thanks, @jaror, for the recommendation on Discord 🙂

ich, to programming

The decision to use Ruby for Mastodon was a poor choice, to put it mildly.

The diagram below shows relative energy consumption, with values normalized to the most efficient one. So C, as the most energy efficient, has the value 1.

#C

abnv, to programming
@abnv@fantastic.earth avatar

I wrote the fourth part of my series “Implementing Co, a small programming language with coroutines”. And this time, we add support for channels in Co for inter-coroutine communication. https://abhinavsarkar.net/posts/implementing-co-4/

maralorn, to programming German
@maralorn@chaos.social avatar
rml, to rust

community: melting down
comminity: getting over a melt down
community: just trying to grill

forgefed, to fediverse
@forgefed@floss.social avatar

New ForgeFed blog post: Vervis actor refactoring

https://forgefed.org/blog/vervis-actor-refactoring/

Where to comment: Here on the Fediverse :)

--pere

smallcircles, to fediverse
@smallcircles@social.coop avatar

the reference implementation of @forgefed just released a tech preview of their refactored codebase that is based on the Actor Model. A mirror of the codebase can be found on at:

https://codeberg.org/ForgeFed/Vervis


travisfw, to programming
@travisfw@fosstodon.org avatar

Is there a ( or or whatever) offering that's "pure" (functional, ie no side effects and all that -ish idealism)?

amszmidt, to random
@amszmidt@mastodon.social avatar

Scheme is not Lisp. Bite me.

rml,

@amszmidt @louis @ramin_hal9001

Common #Lisp folks: "scheme isn't fully featured"

Also CL folks: "I developed an entire #Haskell-like programming language in Common Lisp only to realize its lack of features found in its 50-page standard cousin #Scheme is holding the whole project back"

nomeata, to programming
@nomeata@mastodon.online avatar

From the GHC release announcement:

> The GHC developers are happy to announce the availability of GHC 9.6.2. This release is primarily a bug-fix release addressing a few issues
found in 9.6.2.

We have found a fixpoint! Finally the knot is tied!

nomeata, to programming
@nomeata@mastodon.online avatar

Moving those parts of 's base library that are experimental or low-level GHC interna into a separate package to have a cleaner and more stable base sounds obviously good to me, but the proposal (and related threads) has already over 300 comments:
https://github.com/haskellfoundation/tech-proposals/pull/47#issuecomment-1558028287
It shows a kind of rift and distrust between the Core Library Committee and the GHC developers:
> I have little trust in GHC developers to manage changes, and this distrust is not hypothetical or speculative.

webbureaucrat, to programming
@webbureaucrat@floss.social avatar

I would not recommend drinking whiskey while reading Haskell Programming from First Principles.

mangoiv, to programming
@mangoiv@functional.cafe avatar

I've been thinking about this but I cannot solve it, perhaps someone can help me?
https://paste.sr.ht/~mangoiv/9c156501f908245e3d0a896bcf29035e5e4f731c

rml, to programming

I think something the scheme community could learn from Haskell is to lean-in on it's prestige. I see so many people post about how they were never able to figure out how to use scheme in any practical way, and most schemers I've spoke to said it took them about a year to get really compfortable. But I think the #scheme community has traditionally advertised it as "so easy, you can learn it in an afternoon!", and so people, often times already coming from some other #lisp like #clojure, expect to be able to just pick it up, and when they fail to they think the language is lacking. But nobody comes to #Haskell with such expectations, and the Haskell community never advertised it as super easy and quick to learn. In my experience, Haskell has always been sold as "takes time to learn, but is worth it".

rml,

@otfrom sheer versatility. Clojure is pretty attached to the jvm in the sense that it's secondary implementations (cljs, cljr etc) tend to lose and gain platform-specific features afaict. So Clojure doesn't have near instant startup time, thus making it not fit for scripting (theres babashka, but afaik thats a subset of clojure in javascript). Also, the lack of tail-calls makes it very difficult to implement scheme's signature features (first class continuations etc) because you have to construct a trampoline, while most of Clojure's functionality is relatively easy to implement in Scheme. And Scheme has shown itself to be a better compilers platform than , which i've heard described by it's advocates as "a programming language for authoring compilers". Scheme is even good for writing little kernels for your programs, it's incredible for co-routines and engines in general. So it's this massive range where it comes out top in it's class in so many fields (using at least) which I think makes unique, special, and worth pursuing.

suppi, to programming

Did you know? impurepics is working on a Video series based on 'Learn by building a blog generator'. 8 videos have already been published covering up-to (and including) the I/O chapter!

Here's the playlist on youtube:

https://www.youtube.com/watch?v=ZL0qExCnO8g&list=PLxn_Aq3QlOQcXoHWdzxnnuGlGWNXJg43R&index=2

rml, to programming

Something thats kept me from getting into beyond the periodic month long affair is that it brings out the worst of my exploratory impulses, in part because there is so much cool stuff going on. Already with I have to struggle with all my might to stop myself before I ever start trying to implement any idea I have concerning continuations, because if I dont, what would otherwise be productive time can easily melt away into to 10 hours of watching simple experimental REPLs I build unwind and turn inside out and contort in the most mind boggling patterns, like sugar poured into my braincells... when you put me behind Haskell with Wingman typed holes I'm probably even worse, because in addition to having to the ever looming seduction of "what can I get it to put in the hole?" is also sitting there practically taunting mr, as if its always asking: "would you like to go deeper?"

kosmikus, to programming
@kosmikus@functional.cafe avatar

It's time for the Unfolder again! Tonight at 1830 UTC I'm going to talk with Edsko about injectivity of types in Haskell, and what to do if your type families are not injective.

https://www.youtube.com/live/1vd9mvH8Bos?feature=share

haskman, to programming
@haskman@functional.cafe avatar

Learning is like a rite of passage. Everybody should do it irrespective of what they actually use

rml, to programming

Cue quarterly community meltdown

To be fair, I think Haskell will continue to fill the niche it filled ~10 years ago, around the time it started to get mainstream hype. Small teams of skilled devs delivering robust products that would normally require much larger teams to maintain will continue to prevail. Purely functional lazy programming was never bound for world domination in an economy which is antagnostic to curiosity, creativity and truths.

On the other hand, I have the feeling that we're going to see more and more Haskellers-turned-Rustaceans come to realize that does little to alleviate the primary barrier to Haskell's wider success -- fast and predictable turnaround time for projects developing cutting-edge technologies -- and will wind up going the same route as some major Haskell projects such as and have in recent years, which is to try Scheme, only to discover that it allows them to release blazing fast functional programs on a generic foundation where major breaking changes are practically non-existent, providing incredible flexibility while significantly reducing dependencies by dint of the ad-hoc tooling that falls out of the bottom of . Not to mention the joys that come from near-instant startup times, some of the fastest compile time you've ever encountered, fully-customizable interactive development and a surgical that rivals Haskell in scheer fun. Yesterdays naysayers will become tomorrow's enthusiastic bootstrappers. Or a at least a boy can dream.

That said, in all seriousness I don't think Scheme will ever reach the heights of Haskell's moderate commercial success. But I do think that projects built on Scheme, like Unison, will get a leg up and eventually surpass it, and interest in will only grow.

https://nitter.net/graninas/status/1656519682822746113?cursor=NwAAAPAoHBlWgoCxgZ7Grf0tgsCz2c64l_0tjIC2pczQo_0thIC9xfeLvv0tgoCx4eq3tv0tJQISFQQAAA#r

ramin_hal9001,
@ramin_hal9001@emacs.ch avatar

@rml Yep, quarterly meltdown is right.

Though I must admit, I am exhausted trying to get people in my company and elsewhere to see the benefit of Haskell. I had hope for a time maybe 5-10 years ago, that the world of computer education would latch on to it as an education language. But alas, they went with Python because it's "easy." Easy to get started (not easy to maintain). But if you start people with Python, that is the only language they will ever want to use for their whole life and they will quiver in fear and react violently like a cornered animal if you ever tell them they have to use anything other than Python. And now the whole AI industry is using Python and JavaScript exclusively.

I am back to using Haskell as "for personal use projects" only. But lately I have become interested in using Scheme for personal use, so much of my unfinished Haskell code has gone untouched for a few months now. I just have so little motivation to continue working on those projects when no one seems to care about it outside of that subset of software engineers who have really understand how it is better than or in every possible way.

I'll probably get around to releasing some of my old projects at some point, but right now I am just having too much fun with , and I am just so god damned tired of this AI bullshit.

Fuck Python. Fuck JavaScript, fuck the whole god damned software industry who all insist these are the only languages anyone should be using.

dpwiz, to programming
@dpwiz@qoto.org avatar

Extracted tile “proxy” data from Tilesetter projects. Makes maps a little less bland.

hungryjoe, to programming
@hungryjoe@functional.cafe avatar

I've been playing around with implementing a wrapper to with a view to using it to do programmable CAD.

It's early days so far (the code has no structure, and I'm leaking memory all over the shop), but I've been able to implement the bottle example from the library tutorials.

https://github.com/joe-warren/opencascade-hs/blob/5b72b9c4741310c78eedc09bec646c881b6b98ff/src/Lib.hs#L248I

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