Newest at the top
2025-05-07 23:47:39 +0200 | <hellwolf> | yea, that's right. There are two scenarios in my case. |
2025-05-07 23:47:33 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
2025-05-07 23:46:27 +0200 | <tomsmeding> | (IMO sharing is the big design choice when designing an embedded language in haskell) |
2025-05-07 23:46:06 +0200 | <tomsmeding> | i.e. do you have a let-binding construct in your embedded language, and if so, how do you expose that to the user |
2025-05-07 23:45:39 +0200 | <tomsmeding> | how would you have the user represent sharing in their embedded program? |
2025-05-07 23:45:12 +0200 | <tomsmeding> | embedding is much easier :D |
2025-05-07 23:45:03 +0200 | <tomsmeding> | I might be able to finish it if I spend more time on it |
2025-05-07 23:44:56 +0200 | <hellwolf> | I am not versed in to actually building those. Using embedding approach is more because of my limitation. |
2025-05-07 23:44:30 +0200 | <tomsmeding> | at some point I tried to implement a haskell typechecker (well, a very small subset of haskell), without reference to literature because it's more fun that way, and I got stuck at properly handling inference of polymorphic functions |
2025-05-07 23:44:29 +0200 | <hellwolf> | oh, yea, I think I read some of Arnauld's paper. Linear-types rules seems very concise. |
2025-05-07 23:44:20 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2025-05-07 23:44:06 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2025-05-07 23:43:36 +0200 | <tomsmeding> | *daunted |
2025-05-07 23:43:32 +0200 | <tomsmeding> | I wouldn't be scared from having to implement linearity, whereas I'm still dauted by GADTs |
2025-05-07 23:43:12 +0200 | <tomsmeding> | actually, as advanced type systems go, linear types are not so bad |
2025-05-07 23:43:01 +0200 | <hellwolf> | I can explain, but I might butcher it in IRC format. |
2025-05-07 23:42:52 +0200 | <tomsmeding> | I see |
2025-05-07 23:42:44 +0200 | <hellwolf> | no, but I actually need multiplicity on arrows |
2025-05-07 23:42:34 +0200 | <tomsmeding> | (Futhark is completely unsuitable for what you're trying to do, by the way) |
2025-05-07 23:42:27 +0200 | <hellwolf> | okay, good to know :) |
2025-05-07 23:42:18 +0200 | <tomsmeding> | well, Futhark has uniqueness types :) |
2025-05-07 23:42:05 +0200 | <hellwolf> | tomsmeding: well, I use LinearTypes, so that's that :D |
2025-05-07 23:41:43 +0200 | <hellwolf> | so, it is rather a haskell problem. |
2025-05-07 23:41:38 +0200 | <tomsmeding> | all the ML stuff is embedded in python |
2025-05-07 23:41:29 +0200 | <hellwolf> | true. |
2025-05-07 23:41:27 +0200 | <tomsmeding> | or Python, actually |
2025-05-07 23:41:19 +0200 | <tomsmeding> | embedding in javascript is very fashionable, I think |
2025-05-07 23:41:08 +0200 | <tomsmeding> | is it not fashionable? |
2025-05-07 23:40:50 +0200 | <hellwolf> | logic and "next 700 programming language" suggests embedding language is the way; but rationality not culturally fasionable atm. |
2025-05-07 23:40:48 +0200 | <int-e> | and it feels relevant to trying to sell Haskell :) |
2025-05-07 23:40:30 +0200 | <tomsmeding> | hellwolf: how advanced of a type system do you need? |
2025-05-07 23:40:07 +0200 | <int-e> | tomsmeding: it's a favorite |
2025-05-07 23:40:00 +0200 | <tomsmeding> | int-e: you've quoted that one before :p |
2025-05-07 23:39:37 +0200 | <tomsmeding> | building advanced type systems is tricky, yes |
2025-05-07 23:39:24 +0200 | <hellwolf> | I am not gonna be able to build it myself. |
2025-05-07 23:39:19 +0200 | <tomsmeding> | Futhark is a DSL |
2025-05-07 23:39:18 +0200 | <lambdabot> | these nods of agreement. "Well, I've found a new language that solves that problem." Audience: "Ooooh! How?" Me: "There's no variables!" And then they all start moving away from me slowly.... |
2025-05-07 23:39:18 +0200 | <lambdabot> | cjs says: I have to explain this shit to people. I mean, I start out right, "Hey, you know how you always have these bugs because what you thought was in the variable is not there?" And I get all of |
2025-05-07 23:39:18 +0200 | <int-e> | @quote o.v.r.a.l.s |
2025-05-07 23:39:09 +0200 | <hellwolf> | yea, but i need all the advanced type system. |
2025-05-07 23:38:54 +0200 | <tomsmeding> | it's not like Futhark is popular, really, but it does have users here and there |
2025-05-07 23:38:37 +0200 | <tomsmeding> | https://futhark-lang.org/ is a success story of a separate language that could very well have been an embedded one |
2025-05-07 23:38:20 +0200 | <tomsmeding> | if your users are not already in haskell, then it's a big downside |
2025-05-07 23:38:10 +0200 | <tomsmeding> | depends a lot on the audience; if you're already in haskell, then the fact that it's embedded is a selling point |
2025-05-07 23:38:08 +0200 | <hellwolf> | (if your goal is to have people using it.) |
2025-05-07 23:37:57 +0200 | <hellwolf> | but building your own language sounds so daunting and a likely burnout experience. |
2025-05-07 23:37:34 +0200 | <hellwolf> | I wonder which could be easier selling your own language or selling a deeply embedded language in Haskell. |
2025-05-07 23:36:47 +0200 | <hellwolf> | :) good place to be. |
2025-05-07 23:36:29 +0200 | <tomsmeding> | it's purely research so far, yes -- and because I've been publishing in PL venues so far, one doesn't need to sell FP :p |
2025-05-07 23:36:15 +0200 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |