amen zwa, esq. · @AmenZwa
125 followers · 1354 posts · Server mathstodon.xyz

I just published "PDF: purely functional data structures in " on GitHub.

These are Elm reimplementations of the data structures presented in the book " " (1999) by Prof. Okasaki. It is the only one of its kid that I am aware. It is a tour de force of functional thinking. The book includes and implementations.

Okasaki is a descendant of the ML tradition. His PhD advisor at CMU during the mid 1990s was Prof. Harper who wrote "Programming in Standard ML" (2011), contributed to the definition of the language, and was a member of the ML posse, alongside Milner, Tofte, Reppy, MacQueen, et al.

I chose for the following reasons:

• Elm is a purely functional language
• Elm does not yet have a comprehensive library of data structures
• Elm evolves at a deliberate pace, with subsuming to the modern CI/CD pipeline pressure
• Elm is one of the simplest languages
• Elm is sane
• These properties make Elm a good candidate for use in education, for teaching FP, for teaching data structures, and for teaching disciplined web programming, and a comprehensive collection of data structures could be of use in undergraduate education

An unstated, but no less important, reason for my choosing Elm is Python fatigue. I currently use Python at work, and I am also expanding my "CLRS algorithms in Jupyter notebooks" project. I like Python, but many hours of Python a day is deleterious to my . Elm is both the prophylactic and the cure.

Please note that both PDF and CLRS are my solo projects, and they are works in progress that grow incrementally. Both projects aim to help undergraduate students.

github.com/amenzwa/pfd

#mentalhealth #cs #fp #haskell #standardml #datastructures #functional #purely #elm

Last updated 2 years ago

amen zwa, esq. · @AmenZwa
122 followers · 1324 posts · Server mathstodon.xyz

Most practitioners today cannot comprehend macros and functors, I suppose it is the sign of the times, but it is unfortunate because it is a lost knowledge—like knowing how to use the slide rule.

#standardml #lisp #it

Last updated 2 years ago

amen zwa, esq. · @AmenZwa
116 followers · 1244 posts · Server mathstodon.xyz

I am a connoisseur of languages. And like a connoisseur who does not own a vineyard but appreciates the drink, I do not make languages, but I enjoy them all the same.

Even the most jaded wine critic has his favourite wine. I, too, have my favourite language. It is , a language that has never been (nor will it ever be) an IT industry "standard" nor has it have anything to do with the IT industry's darling of the day—machine learning "ML".

en.wikipedia.org/wiki/Standard

#standardml #wine #programming

Last updated 2 years ago

alice2 · @aliceenamour
172 followers · 552 posts · Server thicc.horse
alice2 · @aliceenamour
172 followers · 552 posts · Server thicc.horse

It's my pleasure to announce that has been updated. 😊 😄

Alice 1.4 has been released!
ps.uni-saarland.de/alice/

A Tour to Wonderland
ps.uni-saarland.de/alice/manua

#alice #programminglanguage #aliceml #standardml

Last updated 2 years ago

Barry Schwartz 🫖 · @chemoelectric
501 followers · 7687 posts · Server masto.ai
Barry Schwartz 🫖 · @chemoelectric
488 followers · 6982 posts · Server masto.ai

An implementation of the arithmetic draft task, in , based very loosely on the (that is based on the and the :

Continued fraction/Arithmetic/G(matrix ng, continued fraction n1, continued fraction n2) - Rosetta Code rosettacode.org/wiki/Continued

The implementation uses to represent continued fractions.

#rosettacode #continuedfractions #mercury #standardml #scheme #python #lazylists

Last updated 2 years ago

Barry Schwartz 🫖 · @chemoelectric
488 followers · 6976 posts · Server masto.ai

I ported the yesterday to , and today to --

Continued fraction/Arithmetic/G(matrix ng, continued fraction n1, continued fraction n2) - Rosetta Code rosettacode.org/wiki/Continued

(I hashtag OCaml reluctantly, because my experience is it has advocates who will fight with you when you say something absolutely true about the language--which its developers no doubt would concede--such as that you cannot count on the compiler to compile old programs.)

#standardml #ats #ocaml

Last updated 2 years ago

Barry Schwartz 🫖 · @chemoelectric
488 followers · 6965 posts · Server masto.ai

I have added a second implementation--this one based closely on the , to aid people in comparing the two languages:

Continued fraction/Arithmetic/G(matrix ng, continued fraction n1, continued fraction n2) - Rosetta Code rosettacode.org/wiki/Continued

I also demonstrate having the program broken into multiple files. Some things, which you might not expect to, have to be done "manually" in ...

#ats #standardml #ats2 #atslang #sml

Last updated 2 years ago

Barry Schwartz 🫖 · @chemoelectric
488 followers · 6963 posts · Server masto.ai

The was a particular pleasure to write:

Continued fraction/Arithmetic/G(matrix ng, continued fraction n1, continued fraction n2) - Rosetta Code rosettacode.org/wiki/Continued

#standardml #sml #rosettacode #continuedfractions

Last updated 2 years ago

Barry Schwartz 🫖 · @chemoelectric
488 followers · 6961 posts · Server masto.ai

Look, sanity from the folk:
‘It is useful to have a module providing bit-wise operations on an unbounded domain. Such a module can serve as the basis for implementing sets or bit-vectors. These operations seemed to naturally fit into the specification of the IntInf module, rather than require an additional WordInf structure. ’

By ‘sanity’ I mean not multiplying entities, when INTEGERS can represent nearly every dang thing.

Now please make booleans be ints mod 2.

#standardml

Last updated 2 years ago

Barry Schwartz 🫖 · @chemoelectric
483 followers · 6754 posts · Server masto.ai
Alex Nelson · @thmprover
8 followers · 15 posts · Server mathstodon.xyz

I am about ~70% certain we can construct rules for equational reasoning for a suitably large fragment of from its 1997 definition; almost certainly this fragment includes Core ML - {exceptions, references} + (some suitably nice wrapper functions around primitive functions in the Standard Basis which use option types instead of throwing exceptions).

This might be worth something in

#functionalprogramming #standardml

Last updated 3 years ago

· @Serpent7776
9 followers · 99 posts · Server mastodon.social
· @Serpent7776
8 followers · 95 posts · Server mastodon.social

I created an initial mlkit port for

#freebsd #standardml

Last updated 3 years ago

amen zwa, esq. · @AmenZwa
45 followers · 281 posts · Server mathstodon.xyz

My favourite functional texts:
• ML for the Working Programmer, Paulson
• Elements of ML Prog, ML97 Edition, Ullman
• Essentials of Standard ML Modules, Tofte
• Purely Functional Data Structures, Okasaki
• Unix System Prog with Standard ML, Shipman
• Modern Compiler Implementation in ML, Appel
• The Standard ML Basis Library, Gansner
• The Definition of Standard ML, Milner
• Commentary on Standard ML, Milner
• How ML Evolved, Milner
• The History of Standard ML, MacQueen

#programming #standardml

Last updated 3 years ago

amen zwa, esq. · @AmenZwa
45 followers · 281 posts · Server mathstodon.xyz

My favourite functional texts:
• ML for the Working Programmer, Paulson
• Elements of ML Programming, ML97 Edition, Ullman
• Essentials of Standard ML Modules, Tofte
• Purely Functional Data Structures, Okasaki
• Unix System Programming with Standard ML, Shipman
• The Standard ML Basis Library, Gansner
• The Definition of Standard ML, Milner
• Commentary on Standard ML, Milner
• How ML Evolved, Milner
• The History of Standard ML, MacQueen

#programming #standardml

Last updated 3 years ago

amen zwa, esq. · @AmenZwa
45 followers · 274 posts · Server mathstodon.xyz

Right, so I had a tête-a-tête with today about in modules, functors, and sharing constraints. The descriptions are accurate but imprecise. Still, I'm impressed. may well replace us programmers, soon.
beta.openai.com/docs/introduct

#ai #standardml #programming #chatgpt

Last updated 3 years ago

amen zwa, esq. · @AmenZwa
36 followers · 168 posts · Server mathstodon.xyz

Learning FP concepts using OO-FP hybrid languages (Swift, Kotlin, Scala, etc.) from practice-oriented books focused on enterprise-scale line-of-business software development is a fool's errand. Instead, learn FP using or from one of the many well-written CS textbooks.

#haskell #standardml

Last updated 3 years ago

amen zwa, esq. · @AmenZwa
26 followers · 83 posts · Server mathstodon.xyz