jesper, to Blog
@jesper@agda.club avatar

I wrote a blog post about Agda Core! It's a bit long and not very polished, but I'm happy to have it finished (thanks to a long and distraction-free train ride to Swansea).

jesper.cx/posts/agda-core.html

abucci, to ProgrammingLanguages
@abucci@buc.ci avatar

A weird thing about being 50 is that there are programming languages that I've used regularly for longer than some of the software developers I work with have been alive. I first wrote BASIC code in the 1980s. The first time I wrote an expression evaluator--a fairly standard programming puzzle or homework--was in 1990. I wrote it in Pascal for an undergraduate homework assignment. I first wrote perl in the early 1990s, when it was still perl 4.036 (5.38.2 now). I first wrote java in 1995-ish, when it was still java 1.0 (1.21 now). I first wrote scala, which I still use for most things today, in 2013-ish, when it was still scala 2.8 (3.4.0 now). At various times I've been "fluent" in 8086 assembly, BASIC, C, Pascal, perl, python, java, scala; and passable in LISP/Scheme, Prolog, old school Mathematica, (early days) Objective C, matlab/octave, and R. I've written a few lines of Fortran and more than a few lines of COBOL that I ran in a production system once. I could probably write a bit of Haskell if pressed but for some reason I really dislike its syntax so I've never been enthusiastic about learning it well. I've experimented with Clean, Flix, Curry, Unison, Factor, and Joy and learned bits and pieces of each of those. I'm trying to decide whether I should try learning Idris, Agda, and/or Lean. I'm pretty sure I'm forgetting a few languages. Bit of 6502 assembly long ago. Bit of Unix/Linux shell scripting languages (old enough to have lived and breathed tcsh before switching to bash; I use fish now mostly).

When I say passable: in graduate school I wrote a Prolog interpreter in java (including parsing source code or REPL input), within which I could run the classic examples like append or (very simple) symbolic differentiation/integration. As an undergraduate I wrote a Mathematica program to solve the word recognition problem for context-free formal languages. But I'd need some study time to be able to write these languages again.

I don't know what the hell prompted me to reminisce about programming languages. I hope it doesn't come off as a humblebrag but rather like old guy spinning yarns. I think I've been through so many because I'm never quite happy with any one of them and because I've had a varied career that started when I was pretty young.

I guess I'm also half hoping to find people on here who have similar interests so I'm going to riddle this post with hashtags:

#C #R

terrorjack, to random
@terrorjack@functional.cafe avatar

seems to compile with ghc wasm backend with just a bit of modification (remove custom setup & gitrev)! i'm not familiar with agda internals, but as long as it only involves file i/o and doesn't need to spawn processes to do real work, then in principle it shouldn't be hard to get a fully functional agda in browser working :)

jesper, to random
@jesper@agda.club avatar

New blog post about core languages and : "6 Reasons in favor of a core language, and 5 against"

jesper.cx/posts/why-not-a-core-language.html

Jose_A_Alonso, to FunctionalProgramming
@Jose_A_Alonso@mathstodon.xyz avatar

Polynomial functors in Agda: Theory and Practice (A formalization and collection of applications of categories of polynomial functors). ~ André Muricy Santos Marcus Jörgensson. https://odr.chalmers.se/server/api/core/bitstreams/774ba4a2-58b4-407f-aa6b-b0209b6c7d70/content #ITP #Agda #FunctionalProgramming

jesper, to FunctionalProgramming
@jesper@agda.club avatar

We are organizing the FP Dag aka Dutch Functional Programming Day on Friday the 5th of January in Delft. People from neighboring countries are also very welcome to join!

The (soft) registration deadline is on the 22th of December (next Friday), so get your tickets soon!

https://www.tudelft.nl/fpday-2024

#FP #FPDag #FunctionalProgramming #Haskell #OCaml #Scala #Racket #Scheme #Agda #Coq #Idris #Lean #AndAllTheOtherLanguagesIForgot

brokenix, to random
@brokenix@emacs.ch avatar
jesper, to haskell
@jesper@agda.club avatar

I really need this in my Haskell: github.com/ghc-proposals/ghc-proposals/pull/621

Sadly, even if it gets merged it will take at least 5 more years before we can use it in the Agda codebase.

BoydStephenSmithJr, to vim
@BoydStephenSmithJr@hachyderm.io avatar

Does anyone else do with without ? The main agda-vim plugin doesn't work at all. The tc-0 fork does some things, but mostly emits bytes v str errors. Last time I tried the agda-language-server, I couldn't get it to compile.

I think some tooling will let me put together this evaluate function a lot faster.

patrikja, to haskell
@patrikja@functional.cafe avatar

The local season for writing MSc thesis project proposal is here and I have formulated a few ideas for students to start from. They are posted in Chalmers' "MSc thesis portal" and linked from here:
https://patrikja.owlstown.net/posts/1968-msc-thesis-proposals

In short, if you want to come to Gothenburg and work with or in relation to some of my research interests, do get in touch.

jesper, to haskell
@jesper@agda.club avatar

Tomorrow is already the deadline for the third edition of , the Workshop on the Implementation of Type Systems, colocated with 2024 in London. The page limit is one page, but just a single-paragraph abstract with an interesting idea for a talk is also very welcome! In particular contributors to and even are warmly invited to give a talk about their experiences with implementing type systems.

Call for papers: popl24.sigplan.org/home/wits-2024#Call-for-Participation
Submission link: wits24.hotcrp.com/

pebbe, to rust Dutch
@pebbe@mastodon.social avatar

I don't get it why people use or to write serious applications. Are they masochists?

BoydStephenSmithJr,
@BoydStephenSmithJr@hachyderm.io avatar

@pebbe I prefer my errors at compile time instead of at runtime. I prefer Haskell because I learned it first and make use of higher-kinded types in my abstractions.

Though currently, I'm trying to build a "better" language using as the core calculus.

(Sort of, I have some properties of an evaluator for a specific grade/mode that I want to prove preferably in [] and then build a language around that instance of GRTT.)

BoydStephenSmithJr, to haskell
@BoydStephenSmithJr@hachyderm.io avatar

Does anyone have a or GADT that models both general terms AND closed terms not containing any redex (values)?

I seem to remember reading a random internet page with such a construction, but I can't remember enough for my Internet searching today to find it.

Jose_A_Alonso, to Logic
@Jose_A_Alonso@mathstodon.xyz avatar
chrisamaphone, to random
@chrisamaphone@hci.social avatar

here are 3 screen recordings of me doing the same proof (that doubling a number gives you an even number) in , , and .

twelf: https://www.convivial.tools/proof-videos/double-twelf.mov

agda: https://www.convivial.tools/proof-videos/double-agda.mov

coq: https://www.convivial.tools/proof-videos/double-coq.mov

(note i'm much less familiar with agda and coq, as well as emacs, which is what i'm using to edit both of those proofs)

i wanted to do this to demonstrate the 3 ways that these tools enable interactive proof construction -- very distinct, but i think with similar aims.

rml, (edited ) to mathematics
@rml@functional.cafe avatar

"Concerning computer assisted proofs, it seems to me the main obstacle is user friendliness; if you want this to become a part of the culture of mathematics, that when you submit a paper it includes a computer verification that the paper is correct -- I think this is very unlikely to become a part of the culture of mathematics, but if you want it to -- then, what you need is proof assistants that mathematicians are willing to use, so that it doesn't take 100 times as long to provide that certificate as it does to produce a paper the usual way."

  • Jacob Lurie

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

rml, to random
@rml@functional.cafe avatar

I just finished the first chapter of @d_christiansen's Functional Programming in , and I gotta say, theorem provers consistently win when it comes to pure fun. And Lean has been incredibly easy to dive into, find out where things are, and start... programming with, it really just feels like (or rather, is) another functional programming language, but with all the fanciness of dependent types.

rml,
@rml@functional.cafe avatar

I think is by far the nicest purely at the language level (I'd probably consider Agda the prettiest language after Scheme), but 2gb is a lot of space, especially for someone like me that has lots of large 3D scene files, with massive textures, and am constantly making space on my laptop. is smaller then Lean, but a lot of OCaml also bleeds through, which is a great language, but not the most elegant, and I'm just trying to grill.

is really great and the one I've spent the most time with; I was even split between diving deep into either Idris or a few years ago and chose the latter, as Edwin Brady's book is one of the best general introductions to FP I have read. But what I'm ultimately interested in exploring is Lean's hygienic macro system, and I'm overall really digging the lispyness hiding within Lean's mixfix notation

rml,
@rml@functional.cafe avatar

on the topic of , I tried it a few winter holidays ago, reading Philip Wadler's PLFA, which is wonderful from the 1/3 I finished. it was a surreal experience compiling a book that proved the statements therein for 6 hours.

at some point after winter break, I switched distros, and never got around to recompiling the book, and so I never finished (I know I can just read the compiled version online, but I felt like reading the text from its literate agda files directly is a core part of the experience). I'll finish it one day, but I wonder if a backend would significantly reduce those compile times.

patrikja, to haskell
@patrikja@functional.cafe avatar

Hi, I'm Patrik Jansson, professor in the FP group at Chalmers. I just moved here from types.pl following some of my friends and colleagues.

Here is the text from my Profile:

Computer scientist, hacker, catalyst of research ideas, likes to connect the big picture with formal details, software & language technology advocate.
Have worked on Domain-Specific Languages of Mathematics, , Climate Impact Research, Parametricity for Dependent Types, Testing, Parsing, polytypic programming, ...

More about me and my work can be found on my homepage: patrikja.owlstown.net/

rml, to random
@rml@functional.cafe avatar

McCarthy is like the of , while Sussman & Ableson are his & Engels.

"Means of abstraction", "means of combination"... substitute the dialectical method with the substitution method...

...they were brewing up a revolution, and they knew good & well what they were scheming.

rml,
@rml@functional.cafe avatar

@mousebot but here, I'll give it a shot based on vibes

Plato: (the Idea of the Good, proto-Maoist non-conformists)
Aristotle: #C (arch reactionary)
Duns Scotus: (simple brittle concepts but with plenty of haecceity)
Spinoza: (OG that everyone thinks is fresh bcs its dynamic)
Descartes: (ghost in the machine)
Kant: (critique of Pure C)
Hegel: (the absolute Idea as self-reflective system)
Nietzsche: (the primacy of appearances)
Marx/Lenin: (self-explanatory)
Freud: (not phil, but rather the original debugger for all the problems of phil)
Heidegger: (the anti-technology technologist's lang of choice)
Wittgenstein: (all there is are the facts)
Stalin: (forces you to do things "correctly" even when its neither the best option for the situation nor the most performant; the extreme ML)
Lacan: (meta-debugging, non-linear retroactive causality of the signifier, on top of gdb)
Deleuze: (thinks programming should be art, thinks art is about infinite flows, elaboration of Nietzsche)
Federici: (super witchey)
Derrida: (theres nothing outside the text)
Malabou: (everything is neurobiological including language itself)
Badiou: (the generic is the Idea of the Good)
Butler: (the new generation of Kantians doing things right, performatively)

rml,
@rml@functional.cafe avatar

@quails @mousebot thinking about it more, Plato and Agda is definitely a bad match, because they are mostly constructivists, which is almost the polar opposite of Platonism. Perhaps is Cavailles, Plato is also scheme (Plato's Republic is a book by Badiou, fwiw)

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