You are viewing archived messages.
Go here to search the history.

Mariano Guerra 2022-11-15 15:11:45

Deconstructing Datalog

This thesis deconstructs Datalog from a categorical and type theoretic perspective to determine what makes it tick.

Datalog’s semantic guarantees are provided by brute syntactic restrictions, such as stratification and the absence of function symbols.

In place of these, we find compositional semantic properties such as monotonicity, which we capture using types.

We show that this permits integrating Datalog’s features with those of typed functional languages, such as algebraic data types and higher order functions.

Jack Rusher 2022-11-15 17:26:27

"We have not attempted to embed Datafun into an existing language, as this would greatly complicate the context-management operations needed to ensure monotonicity." 😿

Mariano Guerra 2022-11-18 09:15:32

"Diagrammar: Simply Make Interactive Diagrams" by Pontus Granström (Strange Loop 2022)

Diagrams are crucial for communication and learning in STEM fields. Creating them involves repeated patterns, consistent components, exact positioning, and, ideally, user interaction. A programming language has right the tools to do all of the above, but much of its power is only available to career programmers, gated behind the complexity of things like SVG, CSS, JS, and handling user input.

Diagrammar is a tool for creating interactive diagrams, that aims to be much simpler, while retaining the power of a full programming language (Elm). It was designed for making online STEM courses at Brilliant, and we make full use of this power: parametric reusable diagrams, authors sharing toolkits and styles, precise positioning -- and any diagram can be interactive!

In this talk, I will give you a quick tour of Diagrammar and its primitives, share ideas for designing simple, learnable tools, and tell you what we've learned from authors creating thousands of diagrams across dozens of courses.

Ivan Reese 2022-11-18 15:25:49

This is exactly my cup of tea.

So of course, I started excitedly skimming through to look for the part where they show the graphical programming environment they came up with to build these diagrams (because of course I would say that is the obviously correct solution, hahaha) and then.. Elm.

It's always Elm.

Lorand Kedves 2022-11-18 18:01:45

Ivan Reese I have created a graphical programming environment prototype a few years ago (for real work, the goal was not to be shiny and simple).

So why should I even look up what __ is Elm? 😄

Ivan Reese 2022-11-18 18:03:38

Don't get me wrong — I think Elm is cool. I just find it funny how many times I've seen someone do basically this exact project (a tool of some sort for building little interactive widgets) and choose Elm.

Ivan Reese 2022-11-18 18:04:01

Do you have any links to your graphical programming environment?

Lorand Kedves 2022-11-18 18:06:51

In fact... yes. I have recorded some clips, uploaded to YouTube but it's just as rubbish as the code... I am a worker, not a salesman.

Lorand Kedves 2022-11-18 18:10:14

Meh... it's a pain to watch but if you have 10 minutes to waste... youtu.be/3GsSp7Zd1g8

Ivan Reese 2022-11-18 18:13:59

I appreciate the use of color, and the emphasis on making concrete data visible and manipulable at all times.

Lorand Kedves 2022-11-18 18:16:36

Yep. When you edit the languages and the data in the same graphical editor because the language is just the same data. The difference is that the DSL items are used by the runtime.

... and the whole thing was hand made POJO

Giskard Reventlov 2022-11-20 07:49:59

@Lorand Kedves Really? Did you expect something more than talking to yourself? Stop wasting your time and teach me Java.