Email or username:

Password:

Forgot your password?
Devil Lu Linvega

Programming language based on pure bruijn-indexed lambda calculus and strong call-by-need reduction using abstract machines.
text.marvinborner.de/2023-04-0

14 comments
⛧ esoterik ⛧

@neauoire balanced ternary numbers by default -- i like it!

DELETED

@neauoire > The expression λx.x becomes λ0 – the 0 refers to the first parameter of the abstraction. Subsequently, the expression λx.λy.x y becomes λλ1 0.

Shouldn't that be

> λx.λy.x y becomes λλ0 1

Or am I misunderstanding how this works?

DELETED

@neauoire Definitely going to take me a minute to wrap my head around this language, but it looks really neat, thanks for the link! :)

Devil Lu Linvega

@pixelherodev np! I'm updating cabal in the background right now so I can try it out, but it's taking for-ever D:

I'll try to answer your questions once it's finished and I get it up.

DELETED

@neauoire No worries, I need to read up more on lambda calculus anyways! :)

DELETED

@neauoire

[[1]] is-true is-false
⤳ [is-true] is-false
⤳ is-true

[[0]] is-true is-false
⤳ [0] is-false
⤳ is-false

I'm reading [[1]] as "a 2-func which evaluates to its second argument", and [[0]] as "a 2-func which evaluates to its first argument", so I'm guessing the arguments are in reverse order? hence, [[1]] is-true is-false evaluates to is-true, which is actually its second argument?

But, even if so, the `[[0]] is-true is-false` -> `[0] is-false` reduction lost me :/

@neauoire

[[1]] is-true is-false
⤳ [is-true] is-false
⤳ is-true

[[0]] is-true is-false
⤳ [0] is-false
⤳ is-false

I'm reading [[1]] as "a 2-func which evaluates to its second argument", and [[0]] as "a 2-func which evaluates to its first argument", so I'm guessing the arguments are in reverse order? hence, [[1]] is-true is-false evaluates to is-true, which is actually its second argument?

WimⓂ️

@neauoire Very interesting! My (soon-to-be-ex) postdoc will love this, he uses De Bruijn indexing frequently in his EDSLs.

It also makes me realise Funktal is quite pedestrian by comparison :-D

Devil Lu Linvega

@wim_v12e I knew you'd like this :) Sorry about your falling out with your postdoc

WimⓂ️

@neauoire I hadn't seen this ^_^ Thanks for sharing it!

WimⓂ️

@neauoire Oh no, we didn't fall out! He has managed to secure a permanent position, and I am very happy for him. That is kind of the point in having postdocs: that they get a permanent job on the strength of the work they did for you.

WimⓂ️

@neauoire Oh, I see! Sorry for the confusion! 🤣 Having your partner as your employee is probably never a good idea.

Go Up