home.social

#bqn — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #bqn, aggregated by home.social.

  1. Revised Game of Life implementation in #BQN

  2. Revised Game of Life implementation in #BQN

  3. Revised Game of Life implementation in #BQN

  4. Revised Game of Life implementation in #BQN

  5. How easy it is to construct an APL or K-like programming language

    (by Mohammed Jamal Alrujayi)

    This was an amazing article I found on the orange site published just last week. He notes that although APL and K are of the Harvard school of languages, while Lisp is of the MIT school, they are fundamentally related in their minimalism and in how the languages are structured around a single data type: Lists for Lisp, and vectors/matrices for APL. The two schools of thought were unified in the K programming language by Arthur Whitney:

    On kparc.com (his personal website) he listed K’s lineage simply as “lisp and apl,” linking to Iverson’s Turing paper and Perlis’s lyrical programming.

    I didn’t know much about Iverson’s family of languages (#APL, J, #BQN, K, and so on), but seeing it embedded in just a few lines of code in a high-level language like #Python suddenly makes it so much easier to understand. The syntactic keywords are basically composed of either infix operators of mapping operators, the data (constants or variables) are like leaves of the syntax tree. So all you need are three lambdas: “atom” checks if it’s argument is a number, monad serves as apply or map depending on the type of it’s arguments and abstracts it into a lambda, and “dyad” constructs an infix operator abstracted into a curried lambda. You only need those three rules!

    atom = lambda x: isinstance(x, (int, float, str))
    monad = lambda f: lambda x: f(x) if atom(x) else list(map(monad(f), x))
    dyad = lambda f: (lambda x, y: f(x, y) if atom(x) and atom(y)
      else list(map(lambda yi: dyad(f)(x, yi), y)) if atom(x)
      else list(map(lambda xi: dyad(f)(xi, y), x)) if atom(y)
      else list(map(lambda xi, yi: dyad(f)(xi, yi), x, y)))
    

    Now I definitely want to try this as Scheme macros!

    #tech #software #Lisp #APL #KProgrammingLanguage #JProgrammingLanguage #ProgrammingLanguages #PLT

  6. How easy it is to construct an APL or K-like programming language

    (by Mohammed Jamal Alrujayi)

    This was an amazing article I found on the orange site published just last week. He notes that although APL and K are of the Harvard school of languages, while Lisp is of the MIT school, they are fundamentally related in their minimalism and in how the languages are structured around a single data type: Lists for Lisp, and vectors/matrices for APL. The two schools of thought were unified in the K programming language by Arthur Whitney:

    On kparc.com (his personal website) he listed K’s lineage simply as “lisp and apl,” linking to Iverson’s Turing paper and Perlis’s lyrical programming.

    I didn’t know much about Iverson’s family of languages (#APL, J, #BQN, K, and so on), but seeing it embedded in just a few lines of code in a high-level language like #Python suddenly makes it so much easier to understand. The syntactic keywords are basically composed of either infix operators of mapping operators, the data (constants or variables) are like leaves of the syntax tree. So all you need are three lambdas: “atom” checks if it’s argument is a number, monad serves as apply or map depending on the type of it’s arguments and abstracts it into a lambda, and “dyad” constructs an infix operator abstracted into a curried lambda. You only need those three rules!

    atom = lambda x: isinstance(x, (int, float, str))
    monad = lambda f: lambda x: f(x) if atom(x) else list(map(monad(f), x))
    dyad = lambda f: (lambda x, y: f(x, y) if atom(x) and atom(y)
      else list(map(lambda yi: dyad(f)(x, yi), y)) if atom(x)
      else list(map(lambda xi: dyad(f)(xi, y), x)) if atom(y)
      else list(map(lambda xi, yi: dyad(f)(xi, yi), x, y)))
    

    Now I definitely want to try this as Scheme macros!

    #tech #software #Lisp #APL #KProgrammingLanguage #JProgrammingLanguage #ProgrammingLanguages #PLT

  7. How easy it is to construct an APL or K-like programming language

    (by Mohammed Jamal Alrujayi)

    This was an amazing article I found on the orange site published just last week. He notes that although APL and K are of the Harvard school of languages, while Lisp is of the MIT school, they are fundamentally related in their minimalism and in how the languages are structured around a single data type: Lists for Lisp, and vectors/matrices for APL. The two schools of thought were unified in the K programming language by Arthur Whitney:

    On kparc.com (his personal website) he listed K’s lineage simply as “lisp and apl,” linking to Iverson’s Turing paper and Perlis’s lyrical programming.

    I didn’t know much about Iverson’s family of languages (#APL, J, #BQN, K, and so on), but seeing it embedded in just a few lines of code in a high-level language like #Python suddenly makes it so much easier to understand. The syntactic keywords are basically composed of either infix operators of mapping operators, the data (constants or variables) are like leaves of the syntax tree. So all you need are three lambdas: “atom” checks if it’s argument is a number, monad serves as apply or map depending on the type of it’s arguments and abstracts it into a lambda, and “dyad” constructs an infix operator abstracted into a curried lambda. You only need those three rules!

    atom = lambda x: isinstance(x, (int, float, str))
    monad = lambda f: lambda x: f(x) if atom(x) else list(map(monad(f), x))
    dyad = lambda f: (lambda x, y: f(x, y) if atom(x) and atom(y)
      else list(map(lambda yi: dyad(f)(x, yi), y)) if atom(x)
      else list(map(lambda xi: dyad(f)(xi, y), x)) if atom(y)
      else list(map(lambda xi, yi: dyad(f)(xi, yi), x, y)))
    

    Now I definitely want to try this as Scheme macros!

    #tech #software #Lisp #APL #KProgrammingLanguage #JProgrammingLanguage #ProgrammingLanguages #PLT

  8. How easy it is to construct an APL or K-like programming language

    (by Mohammed Jamal Alrujayi)

    This was an amazing article I found on the orange site published just last week. He notes that although APL and K are of the Harvard school of languages, while Lisp is of the MIT school, they are fundamentally related in their minimalism and in how the languages are structured around a single data type: Lists for Lisp, and vectors/matrices for APL. The two schools of thought were unified in the K programming language by Arthur Whitney:

    On kparc.com (his personal website) he listed K’s lineage simply as “lisp and apl,” linking to Iverson’s Turing paper and Perlis’s lyrical programming.

    I didn’t know much about Iverson’s family of languages (#APL, J, #BQN, K, and so on), but seeing it embedded in just a few lines of code in a high-level language like #Python suddenly makes it so much easier to understand. The syntactic keywords are basically composed of either infix operators of mapping operators, the data (constants or variables) are like leaves of the syntax tree. So all you need are three lambdas: “atom” checks if it’s argument is a number, monad serves as apply or map depending on the type of it’s arguments and abstracts it into a lambda, and “dyad” constructs an infix operator abstracted into a curried lambda. You only need those three rules!

    atom = lambda x: isinstance(x, (int, float, str))
    monad = lambda f: lambda x: f(x) if atom(x) else list(map(monad(f), x))
    dyad = lambda f: (lambda x, y: f(x, y) if atom(x) and atom(y)
      else list(map(lambda yi: dyad(f)(x, yi), y)) if atom(x)
      else list(map(lambda xi: dyad(f)(xi, y), x)) if atom(y)
      else list(map(lambda xi, yi: dyad(f)(xi, yi), x, y)))
    

    Now I definitely want to try this as Scheme macros!

    #tech #software #Lisp #APL #KProgrammingLanguage #JProgrammingLanguage #ProgrammingLanguages #PLT

  9. @tmcfarlane @rsc
    □↯[3 3]□↯[3 3]⇡9 #Uiua
    <3‿3⥊<3‿3⥊↕9 #BQN
    ,3 3#,3 3#!9 #K
    <3 3$<3 3$i.9 #J
    (⊂3 3∘⍴)⍣2⍳9 #Dyalog #APL

  10. @tmcfarlane @rsc
    □↯[3 3]□↯[3 3]⇡9 #Uiua
    <3‿3⥊<3‿3⥊↕9 #BQN
    ,3 3#,3 3#!9 #K
    <3 3$<3 3$i.9 #J
    (⊂3 3∘⍴)⍣2⍳9 #Dyalog #APL

  11. @tmcfarlane @rsc
    □↯[3 3]□↯[3 3]⇡9 #Uiua
    <3‿3⥊<3‿3⥊↕9 #BQN
    ,3 3#,3 3#!9 #K
    <3 3$<3 3$i.9 #J
    (⊂3 3∘⍴)⍣2⍳9 #Dyalog #APL

  12. @tmcfarlane @rsc
    □↯[3 3]□↯[3 3]⇡9 #Uiua
    <3‿3⥊<3‿3⥊↕9 #BQN
    ,3 3#,3 3#!9 #K
    <3 3$<3 3$i.9 #J
    (⊂3 3∘⍴)⍣2⍳9 #Dyalog #APL

  13. @tmcfarlane @rsc
    □↯[3 3]□↯[3 3]⇡9 #Uiua
    <3‿3⥊<3‿3⥊↕9 #BQN
    ,3 3#,3 3#!9 #K
    <3 3$<3 3$i.9 #J
    (⊂3 3∘⍴)⍣2⍳9 #Dyalog #APL

  14. Reading about trains in the #bqn documentation in preparation for #adventofcode tomorrow feels like

    youtube.com/watch?v=eKpVQm41f8Y

  15. Reading about trains in the #bqn documentation in preparation for #adventofcode tomorrow feels like

    youtube.com/watch?v=eKpVQm41f8Y

  16. Reading about trains in the #bqn documentation in preparation for #adventofcode tomorrow feels like

    youtube.com/watch?v=eKpVQm41f8Y

  17. Reading about trains in the #bqn documentation in preparation for #adventofcode tomorrow feels like

    youtube.com/watch?v=eKpVQm41f8Y

  18. 🐍🐒 Behold, the "Zoo of Array Languages," where letters and numbers come to frolic in a chaotic code safari! 🦓🌪️ #APL360, #BQN, and friends are here to remind you that your keyboard is a weapon, and syntax is just a suggestion. 🤪👾
    ktye.github.io/ #ZooOfArrayLanguages #CodeSafari #SyntaxFun #ProgrammingAdventure #HackerNews #ngated

  19. 🐍🐒 Behold, the "Zoo of Array Languages," where letters and numbers come to frolic in a chaotic code safari! 🦓🌪️ #APL360, #BQN, and friends are here to remind you that your keyboard is a weapon, and syntax is just a suggestion. 🤪👾
    ktye.github.io/ #ZooOfArrayLanguages #CodeSafari #SyntaxFun #ProgrammingAdventure #HackerNews #ngated

  20. 🐍🐒 Behold, the "Zoo of Array Languages," where letters and numbers come to frolic in a chaotic code safari! 🦓🌪️ #APL360, #BQN, and friends are here to remind you that your keyboard is a weapon, and syntax is just a suggestion. 🤪👾
    ktye.github.io/ #ZooOfArrayLanguages #CodeSafari #SyntaxFun #ProgrammingAdventure #HackerNews #ngated

  21. 🐍🐒 Behold, the "Zoo of Array Languages," where letters and numbers come to frolic in a chaotic code safari! 🦓🌪️ #APL360, #BQN, and friends are here to remind you that your keyboard is a weapon, and syntax is just a suggestion. 🤪👾
    ktye.github.io/ #ZooOfArrayLanguages #CodeSafari #SyntaxFun #ProgrammingAdventure #HackerNews #ngated

  22. हवाई अड्डाRafael Hernandez में Aguadilla (पुएर्तो रिको) का विमानन मौसम है “TJBQ 161350Z 09014G21KT 10SM SCT021 31/24 A3008” : पर देखें इसका क्या मतलब है bigorre.org/aero/meteo/tjbq/hi #aguadilla # #rafaelhernandez #tjbq #bqn #metar #aviation #विमाननमौसम #avgeek vl

  23. हवाई अड्डाRafael Hernandez में Aguadilla (पुएर्तो रिको) का विमानन मौसम है “TJBQ 161350Z 09014G21KT 10SM SCT021 31/24 A3008” : पर देखें इसका क्या मतलब है bigorre.org/aero/meteo/tjbq/hi #aguadilla # #rafaelhernandez #tjbq #bqn #metar #aviation #विमाननमौसम #avgeek vl

  24. हवाई अड्डाRafael Hernandez में Aguadilla (पुएर्तो रिको) का विमानन मौसम है “TJBQ 161350Z 09014G21KT 10SM SCT021 31/24 A3008” : पर देखें इसका क्या मतलब है bigorre.org/aero/meteo/tjbq/hi #aguadilla # #rafaelhernandez #tjbq #bqn #metar #aviation #विमाननमौसम #avgeek vl

  25. हवाई अड्डाRafael Hernandez में Aguadilla (पुएर्तो रिको) का विमानन मौसम है “TJBQ 161350Z 09014G21KT 10SM SCT021 31/24 A3008” : पर देखें इसका क्या मतलब है bigorre.org/aero/meteo/tjbq/hi #aguadilla # #rafaelhernandez #tjbq #bqn #metar #aviation #विमाननमौसम #avgeek vl

  26. हवाई अड्डाRafael Hernandez में Aguadilla (पुएर्तो रिको) का विमानन मौसम है “TJBQ 161350Z 09014G21KT 10SM SCT021 31/24 A3008” : पर देखें इसका क्या मतलब है bigorre.org/aero/meteo/tjbq/hi #aguadilla # #rafaelhernandez #tjbq #bqn #metar #aviation #विमाननमौसम #avgeek vl

  27. Aviation weather for Rafael Hernandez airport in Aguadilla area (Puerto Rico) is “TJBQ 291250Z 10012KT 10SM SCT030 29/23 A3006 RMK LTG DSNT N AND SE” : See what it means on bigorre.org/aero/meteo/tjbq/en #aguadilla #puertorico #rafaelhernandezairport #tjbq #bqn #metar #aviation #aviationweather #avgeek #airport vl

  28. Aviation weather for Rafael Hernandez airport in Aguadilla area (Puerto Rico) is “TJBQ 291250Z 10012KT 10SM SCT030 29/23 A3006 RMK LTG DSNT N AND SE” : See what it means on bigorre.org/aero/meteo/tjbq/en #aguadilla #puertorico #rafaelhernandezairport #tjbq #bqn #metar #aviation #aviationweather #avgeek #airport vl

  29. Aviation weather for Rafael Hernandez airport in Aguadilla area (Puerto Rico) is “TJBQ 291250Z 10012KT 10SM SCT030 29/23 A3006 RMK LTG DSNT N AND SE” : See what it means on bigorre.org/aero/meteo/tjbq/en #aguadilla #puertorico #rafaelhernandezairport #tjbq #bqn #metar #aviation #aviationweather #avgeek #airport vl

  30. Aviation weather for Rafael Hernandez airport in Aguadilla area (Puerto Rico) is “TJBQ 291250Z 10012KT 10SM SCT030 29/23 A3006 RMK LTG DSNT N AND SE” : See what it means on bigorre.org/aero/meteo/tjbq/en #aguadilla #puertorico #rafaelhernandezairport #tjbq #bqn #metar #aviation #aviationweather #avgeek #airport vl

  31. Aviation weather for Rafael Hernandez airport in Aguadilla area (Puerto Rico) is “TJBQ 291250Z 10012KT 10SM SCT030 29/23 A3006 RMK LTG DSNT N AND SE” : See what it means on bigorre.org/aero/meteo/tjbq/en #aguadilla #puertorico #rafaelhernandezairport #tjbq #bqn #metar #aviation #aviationweather #avgeek #airport vl

  32. Marshall Lochbaum has a great five year retrospective on the design of his #BQN language. I wish that we could all have the clarity, objectivity and honesty about our work that Marshall has about his.

    mlochbaum.github.io/BQN/commen

  33. Marshall Lochbaum has a great five year retrospective on the design of his #BQN language. I wish that we could all have the clarity, objectivity and honesty about our work that Marshall has about his.

    mlochbaum.github.io/BQN/commen

  34. Marshall Lochbaum has a great five year retrospective on the design of his #BQN language. I wish that we could all have the clarity, objectivity and honesty about our work that Marshall has about his.

    mlochbaum.github.io/BQN/commen

  35. Marshall Lochbaum has a great five year retrospective on the design of his #BQN language. I wish that we could all have the clarity, objectivity and honesty about our work that Marshall has about his.

    mlochbaum.github.io/BQN/commen

  36. Marshall Lochbaum has a great five year retrospective on the design of his #BQN language. I wish that we could all have the clarity, objectivity and honesty about our work that Marshall has about his.

    mlochbaum.github.io/BQN/commen