jbzfn, to FunctionalProgramming
@jbzfn@mastodon.social avatar

「 CakeML is a functional programming language and an ecosystem of proofs and tools built around the language. The ecosystem includes a proven-correct compiler that can bootstrap itself 」

https://cakeml.org

#CakeML #FunctionalProgramming #PLT #CompSci

vascorsd, to programming
@vascorsd@mastodon.social avatar

CakeML - A verified implementation of ML - https://cakeml.org/

CakeML is a functional programming language and an ecosystem of proofs and tools built around the language. The ecosystem includes a proven-correct compiler that can bootstrap itself.

vascorsd, to programming
@vascorsd@mastodon.social avatar

The Optimizations in Erlang/OTP 27 - Erlang/OTP - https://www.erlang.org/blog/optimizations/

vascorsd, to FunctionalProgramming
@vascorsd@mastodon.social avatar

The Flix Programming Language - https://flix.dev

PSA: New Type Inference Engine

«merging in a completely new type inference engine

  • Associated types and effects
  • begin to use associated types and effects in the standard library
  • new, simpler, and faster Boolean unification solver
  • A path towards a set based Boolean unification solver
  • A path towards significantly improved interoperability
    »

https://github.com/flix/flix/discussions/7482

#flix #flixlang #fp #functionalProgramming #plt #scala

jbzfn, to random
@jbzfn@mastodon.social avatar

🔣 Unexplanations: sql is syntactic sugar for relational algebra - Jamie Brandon

https://www.scattered-thoughts.net/writing/unexplanations-sql-is-syntactic-sugar-for-relational-algebra/

vascorsd, to ML
@vascorsd@mastodon.social avatar
isomorpheme, to academia
@isomorpheme@functional.cafe avatar

Finally getting around to my new year’s resolution… I’m looking for PhD opportunities! I’m enjoying myself doing professional software dev right now, but I promised myself after my master’s that I’d try going back to academia eventually; this is the year I want to set that up. So I’m wondering if anyone on here knows of anything that's available. :>

Generally I’d love to do work involving programming languages in the broadest sense of the word, but also involving something that's not traditionally PL theory. For example:

  • Human factors in PL design: learnability, cognitive processing, etc.
  • Going beyond plain text for programming: graphical languages, alternative ways of storing & editing code (e.g. Unison), etc.
  • Applying proof assistants / type theories outside of pure mathematics: natural language semantics, experiment design, etc.
  • FP software architecture, empirical software engineering.

Boosting and sharing much appreciated! 🔃​

vascorsd, to random
@vascorsd@mastodon.social avatar

Exploring Verse, Haskell, Language Design and Teaching (with Simon Peyton Jones) - YouTube - https://www.youtube.com/watch?v=UBgam9XUHs0

vascorsd, to programming
@vascorsd@mastodon.social avatar

Announcing the Saber Virtual Machine - Ryan Brewer

"SaberVM is a compiler backend for functional languages."

https://ryanbrewer.dev/posts/announcing-svm.html

lorddimwit, to random
@lorddimwit@mastodon.social avatar

Hot take (approaching shitpost territory):

Copy (assignment) semantics and/or requiring captured variables be constant/unchanged for function closures will cover 90% of use cases and make call stack management a brazilian times simpler for the compiler/runtime.

jbzfn, to random
@jbzfn@mastodon.social avatar

📑 Design Principles Behind Smalltalk
ᐅ Daniel H. H. Ingalls

https://www.cs.virginia.edu/~evans/cs655/readings/smalltalk.html

jbzfn, to dotnet
@jbzfn@mastodon.social avatar

🦾 F# for Performance-Critical Code, by Matthew Crews

https://youtube.com/watch?v=NZ5Lwzrdoe8

bremner, to ProgrammingLanguages
@bremner@mathstodon.xyz avatar

Dear

I'm currently looking at annotations / decorations to a research programming language to estimate runtime non-asymptotically (i.e. gimme a number) in a simple execution model. I thought there might be (have been) some similar projects, but I'm not really sure where to look. I vaguely remember some work on proving loop bounds (e.g. polyhedrally). Any hints?

vascorsd, to ProgrammingLanguages
@vascorsd@mastodon.social avatar

«a novel, maximally-simple concatenative, homoiconic programming and algorithm notation language»

Om: Main Page - http://www.om-language.org/

vascorsd, to programming
@vascorsd@mastodon.social avatar

It's so rare that anyone remembers about when talking about other like in this particular case. Just happy and surprised 🧐

--

Things I like about Gleam's Syntax https://erikarow.land/notes/gleam-syntax | https://lobste.rs/s/ev9cam

vegard, to gamedev
@vegard@mastodon.social avatar

Somebody made a programming language for NES games:

https://pubby.games/nesfab.html

Honestly looks pretty cool.

vascorsd, to webassembly
@vascorsd@mastodon.social avatar

Scheme in the browser: A Hoot of a tale -- Spritely Institute - https://spritely.institute/news/scheme-wireworld-in-browser.html

junosz, to random
@junosz@macaw.social avatar

I feel like I'm missing something obvious. Someone with a better view than me of : why have mainstream programming languages never developed unit-of-measure typing?

I know there are some libraries for it in various language ecosystems, and iirc F# has some notion of units. Surely other research languages have it. It seems like something you'd want at compile-time.

What's the deal here?

rml, to blender
@rml@functional.cafe avatar

some notes towards a « for hackers » tutorial series [1]

I think I want to follow the // method of restricting blender to subsets of gradually growing "tutorial-specific workshops" (using the "blender apps" feature that allows you to export just a subset of the application), except have the whole tutorial be an interactive text adventure within these restricted subsets of blender, in which you are directed in the use of various tools to "fill in the blanks" of simple scenes, almost like a coloring book, that introduce new features when you enter a revealed message, or the correct number of vertices in a well-topoligized shape, essentially basing each tutorial off of procedural use of a restricted set of standard blender key commands.

so imagine Tutorial 0, where you are presented with a very minimal "edit mode" workspace,; just a viewport, the selection tool, the rotation axis (+ "drag" "zoom" etc), a terminal prompt introducing the tutorial, and some illegible text out yonder. from the very beginning, I would introduce keyboard "a" (for select all) and numpad "del" (which "brings you" to any set of selected, useful for navigation), which brings you to the message "del the magnificent". entering the message into the text prompt then explains orthographic vs. perspective view, and camera rotation (the numpad keys), and you're instructed to essentially "select, del" between a path of vertices, shifting perpspective to reveal messages at each, which entering introduces more vertices and and key commands, gradually building up a vocabulary, quickly introducing the ruler tool, and really focusing from the start how all the gridwork magically "snaps together", effectively giving you a simulataneously 2D and 3D editing experience where everything perfectly lines up geometry if you navigate and edit procedurally, trying to convey to the user that Blender is really this sort of magical "fantasy studio" experience where you have all the tools you would in a serious sculpture or plastic arts studio, except everything is (comparatively) easy and free.

[1] (written as fast as possible, sry if its a mess)

vascorsd, to random
@vascorsd@mastodon.social avatar
racketlang, to ProgrammingLanguages
@racketlang@functional.cafe avatar

Programming Languages: Application and Interpretation
Shriram Krishnamurthi
Brown University

3rd Edition

https://www.plai.org

@shriramk

jbzfn, to rust
@jbzfn@mastodon.social avatar

🦀 Building a Programming Language in Twenty-Four Hours | @ersei

https://ersei.net/en/blog/diy-programming-language

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))

abnv,
@abnv@fantastic.earth avatar
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/

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