Taking Erlang to OCaml 5 (with Leandro Ostera)

Поділитися
Вставка
  • Опубліковано 29 лис 2024

КОМЕНТАРІ • 33

  • @leostera_
    @leostera_ 8 місяців тому +51

    Hi Comment section 👋 and thanks a million for hosting me Kris, I had a *ton* of fun! 🤩✨🐫 - happy to answer anything folks, just @ me :)

    • @replikvltyoutube3727
      @replikvltyoutube3727 8 місяців тому

      OcaML is my camel

    • @__samuel-cavalcanti__
      @__samuel-cavalcanti__ 7 місяців тому +1

      Which big erlang book are you talking about ?
      Nice talk btw

    • @leostera_
      @leostera_ 7 місяців тому +2

      @@__samuel-cavalcanti__i was talking about Learn You Some Erlang For Great Good

    • @lincolneddy5092
      @lincolneddy5092 5 місяців тому

      ¹❤❤❤❤❤❤q❤❤1❤1❤

  • @afailable
    @afailable 8 місяців тому +25

    I'm so happy I found this channel. It's easily the best software development content I've found on UA-cam.

    • @Dominik-K
      @Dominik-K 8 місяців тому +2

      I feel the same, is really good content

  • @senthilkumarm4063
    @senthilkumarm4063 8 місяців тому +12

    Leandro ostera is a 1000x developer. Truly inspiring contributions to the ocaml eco system

  • @Mik1604
    @Mik1604 8 місяців тому +10

    You always know how to choose my favorite topics. This channel is such a UA-cam gem.

  • @texoport
    @texoport 8 місяців тому +4

    new favorite episode of the podcast :)

  • @raphaeld9270
    @raphaeld9270 8 місяців тому +3

    Thanks for removing the looping music in your intro speech. It is easier to listen to what you are saying.
    Great podcast as always :D

  • @Sventimir
    @Sventimir 8 місяців тому +3

    I wrote something loosely resembling the genserver pattern in OCaml once and don't remember having any significant problems with typing it. I simply made the genserver a functor over a module defining types of the state, request and response messages. The argument module provided a message handlers for messages, while the functor implemented the main loop of the thread, taking messages from mailbox and passing them to the handfler one at a time. The mailbox itself, I think, was provided by lwt already. So the argument module type was pretty slim: three types and two or three functions. Of course OCaml was still single-threaded back then, so I was using lwt library for concurrency. It worked pretty well, even in the browser, compiled to JS.
    No extensible type ugliness, no message filtering and complete type safety guaranteed by the compiler. No developer headaches about that. :)

  • @PracticalPython1
    @PracticalPython1 6 місяців тому +1

    Quality! This content is what we love!

  • @WillEhrendreich
    @WillEhrendreich 8 місяців тому +4

    Woohoo, more ML Lang talks. Love it.

  • @aus10d
    @aus10d 8 місяців тому +2

    Great episode. I learned about some really interesting sounding projects that I hadn't heard of before (ReasonML and ReScript).
    I really like the idea of bringing Erlang and OCaml together. Really interested to see where this project goes!

  • @liquidmobius
    @liquidmobius 8 місяців тому +1

    First things first: 🧡 OCaml 🧡 My intro to functional programming. This looks like a fascinating project!
    Also, please do Rust!

  • @lwinklly
    @lwinklly 8 місяців тому +3

    11:35 Rescript mentioned 🙌 I'd love to use it in some Typescript projects but was never quite able to get the hang of its TS integration though

  • @winchesterdev
    @winchesterdev 8 місяців тому +3

    I might like the idea of limiting message size to have persistent messages. Force the user to persist the data and send a reference/id to it in the message...

  • @LukeFrisken
    @LukeFrisken 6 місяців тому +1

    Great interview, really loving your content! In a similar vein to the topic at the end of this interview about the work stealing, I think it would be really interesting to do some interviews/questions about the new Java Virtual Threads and the Golang Scheduler, and how they compare to BEAM.

  • @JT-mr3db
    @JT-mr3db 8 місяців тому +3

    41:17 "And that means you don't need Redis". Topical!

  • @winchesterdev
    @winchesterdev 8 місяців тому +3

    So effing cool!

  • @digitalspecter
    @digitalspecter 5 місяців тому

    I think Melange is the compiler that compiles Ocaml/Reason to Javascript and Rescript (which has diverged from Ocaml/Reason syntax/semantics) has its own compiler.

  • @dominix
    @dominix 8 місяців тому +2

    very interesting, I've discover so much.

  • @zomakaja
    @zomakaja 8 місяців тому +3

    You should cover rescript, it's pretty cool

  • @erlend1587
    @erlend1587 8 місяців тому +2

    You should get Mitchell Hashimoto on and talk about the new terminal emulator "Ghosty" he's building :)

  • @chenzhixiang3116
    @chenzhixiang3116 8 місяців тому

    I don't think "effect handlers" is only used at runtime, i thought it can also be used in AOT compile-time, to assist a semantics-transistent transpile from one language to another (call it `cross-language monolithic DSL fusion`...)

    • @chenzhixiang3116
      @chenzhixiang3116 8 місяців тому

      A program on a runtime system can be viewed as a sequence of "effects", this can be monolithic, while different language impls can be polymorphic

  • @lpil
    @lpil 8 місяців тому +1

    Wooo!!!

  • @MrHamsterbacke756
    @MrHamsterbacke756 8 місяців тому +3

    I don't think what you said in the intro is correct. The letting it crash thing is not about just shipping code and hoping it works but about the mechanism it gives you to handle runtime errors.

    • @DeveloperVoices
      @DeveloperVoices  8 місяців тому +9

      Yeah, I was perhaps a bit cavalier there. 🤦‍♂️
      Of course OCaml programmers want to monitor and handle runtime problems, just as Erlang programmers want to get their code right before they ship. I was just trying to find a way to highlight the main point - Erlang's got a very unique and interesting approach to runtime problems. 🙂

  • @CjqNslXUcM
    @CjqNslXUcM 8 місяців тому +1

    very cool

  • @laughingvampire7555
    @laughingvampire7555 3 місяці тому

    dynamic runtimes like Erlang's don't work like static stuff like OCaml's, you are comparing apples and oranges, a dynamic system is meant to run forever and from it you command it to do something, just like with emacs, or you send a message to it to do the cli stuff that you want.

  • @pookiepats
    @pookiepats 17 днів тому

    to be fair, 'failing gracefully" is hardly an acceptable premise in industry proper