home.social

#objectpascal — Public Fediverse posts

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

  1. 👏 Wow, finally! The world has been begging for yet another Object Pascal #compiler because, you know, the planet just can't function without one in 2023. 🚀 Let's celebrate the #reincarnation of a language most people haven't used since the 90s. #CuttingEdgeInnovation 🙄
    github.com/graemeg/blaise #ObjectPascal #Innovation #TechNews #HackerNews #ngated

  2. 👏 Wow, finally! The world has been begging for yet another Object Pascal #compiler because, you know, the planet just can't function without one in 2023. 🚀 Let's celebrate the #reincarnation of a language most people haven't used since the 90s. #CuttingEdgeInnovation 🙄
    github.com/graemeg/blaise #ObjectPascal #Innovation #TechNews #HackerNews #ngated

  3. 👏 Wow, finally! The world has been begging for yet another Object Pascal #compiler because, you know, the planet just can't function without one in 2023. 🚀 Let's celebrate the #reincarnation of a language most people haven't used since the 90s. #CuttingEdgeInnovation 🙄
    github.com/graemeg/blaise #ObjectPascal #Innovation #TechNews #HackerNews #ngated

  4. 👏 Wow, finally! The world has been begging for yet another Object Pascal #compiler because, you know, the planet just can't function without one in 2023. 🚀 Let's celebrate the #reincarnation of a language most people haven't used since the 90s. #CuttingEdgeInnovation 🙄
    github.com/graemeg/blaise #ObjectPascal #Innovation #TechNews #HackerNews #ngated

  5. 👏 Wow, finally! The world has been begging for yet another Object Pascal #compiler because, you know, the planet just can't function without one in 2023. 🚀 Let's celebrate the #reincarnation of a language most people haven't used since the 90s. #CuttingEdgeInnovation 🙄
    github.com/graemeg/blaise #ObjectPascal #Innovation #TechNews #HackerNews #ngated

  6. RE: oldbytes.space/@thelastpsion/1

    And the results are in!

    1. Pico C
    2. Rust
    3. Free Pascal
    4. Joint with Pico C++, MicroZig and Yarg.

    So, what am I going to do? Well, I'm leaning towards porting the existing Arduino C code to the Pico C SDK. I'm currently using one class for encapsulation and abstraction, but I could replace that with structs and static functions. I'm not a great C programmer, but I'm pretty comfortable with it, so it makes sense

    However, before I do that, I see a bigger challenge of getting a good setup without using VS Code. I've been using #NeoVim for a while now, and I'd like to get a comfortable setup using that on #Linux.

    So, I'm going to try to build Blinky projects for at least Pico C, Rust and Free Pascal, using Linux and NeoVim. Hopefully this will give me a better feel for how well these languages actually suit me. I've never done any Rust before, either, so that's going to be quite the learning curve!

    If I have time, I'm going to give Yarg a go, too, because I think the premise is really cool. If I'm on a roll, I'll try #MicroZig too.

    And if I really feel like I have the capacity, I'll port the code to one of these other languages.

    I'm acutely aware of all the other projects I've given myself to do, such as the SIBO SDK and other small Psion-related projects, not to mention $dayjob and $reallife. So we'll see how things go!

    #Pascal #FreePascal #ObjectPascal #RustLang #YargLang #RaspberryPiPico #PiPico #PiPico2 #RP2040 #RP2350

  7. RE: oldbytes.space/@thelastpsion/1

    And the results are in!

    1. Pico C
    2. Rust
    3. Free Pascal
    4. Joint with Pico C++, MicroZig and Yarg.

    So, what am I going to do? Well, I'm leaning towards porting the existing Arduino C code to the Pico C SDK. I'm currently using one class for encapsulation and abstraction, but I could replace that with structs and static functions. I'm not a great C programmer, but I'm pretty comfortable with it, so it makes sense

    However, before I do that, I see a bigger challenge of getting a good setup without using VS Code. I've been using #NeoVim for a while now, and I'd like to get a comfortable setup using that on #Linux.

    So, I'm going to try to build Blinky projects for at least Pico C, Rust and Free Pascal, using Linux and NeoVim. Hopefully this will give me a better feel for how well these languages actually suit me. I've never done any Rust before, either, so that's going to be quite the learning curve!

    If I have time, I'm going to give Yarg a go, too, because I think the premise is really cool. If I'm on a roll, I'll try #MicroZig too.

    And if I really feel like I have the capacity, I'll port the code to one of these other languages.

    I'm acutely aware of all the other projects I've given myself to do, such as the SIBO SDK and other small Psion-related projects, not to mention $dayjob and $reallife. So we'll see how things go!

    #Pascal #FreePascal #ObjectPascal #RustLang #YargLang #RaspberryPiPico #PiPico #PiPico2 #RP2040 #RP2350

  8. RE: oldbytes.space/@thelastpsion/1

    And the results are in!

    1. Pico C
    2. Rust
    3. Free Pascal
    4. Joint with Pico C++, MicroZig and Yarg.

    So, what am I going to do? Well, I'm leaning towards porting the existing Arduino C code to the Pico C SDK. I'm currently using one class for encapsulation and abstraction, but I could replace that with structs and static functions. I'm not a great C programmer, but I'm pretty comfortable with it, so it makes sense

    However, before I do that, I see a bigger challenge of getting a good setup without using VS Code. I've been using #NeoVim for a while now, and I'd like to get a comfortable setup using that on #Linux.

    So, I'm going to try to build Blinky projects for at least Pico C, Rust and Free Pascal, using Linux and NeoVim. Hopefully this will give me a better feel for how well these languages actually suit me. I've never done any Rust before, either, so that's going to be quite the learning curve!

    If I have time, I'm going to give Yarg a go, too, because I think the premise is really cool. If I'm on a roll, I'll try #MicroZig too.

    And if I really feel like I have the capacity, I'll port the code to one of these other languages.

    I'm acutely aware of all the other projects I've given myself to do, such as the SIBO SDK and other small Psion-related projects, not to mention $dayjob and $reallife. So we'll see how things go!

    #Pascal #FreePascal #ObjectPascal #RustLang #YargLang #RaspberryPiPico #PiPico #PiPico2 #RP2040 #RP2350

  9. RE: oldbytes.space/@thelastpsion/1

    And the results are in!

    1. Pico C
    2. Rust
    3. Free Pascal
    4. Joint with Pico C++, MicroZig and Yarg.

    So, what am I going to do? Well, I'm leaning towards porting the existing Arduino C code to the Pico C SDK. I'm currently using one class for encapsulation and abstraction, but I could replace that with structs and static functions. I'm not a great C programmer, but I'm pretty comfortable with it, so it makes sense

    However, before I do that, I see a bigger challenge of getting a good setup without using VS Code. I've been using #NeoVim for a while now, and I'd like to get a comfortable setup using that on #Linux.

    So, I'm going to try to build Blinky projects for at least Pico C, Rust and Free Pascal, using Linux and NeoVim. Hopefully this will give me a better feel for how well these languages actually suit me. I've never done any Rust before, either, so that's going to be quite the learning curve!

    If I have time, I'm going to give Yarg a go, too, because I think the premise is really cool. If I'm on a roll, I'll try #MicroZig too.

    And if I really feel like I have the capacity, I'll port the code to one of these other languages.

    I'm acutely aware of all the other projects I've given myself to do, such as the SIBO SDK and other small Psion-related projects, not to mention $dayjob and $reallife. So we'll see how things go!

    #Pascal #FreePascal #ObjectPascal #RustLang #YargLang #RaspberryPiPico #PiPico #PiPico2 #RP2040 #RP2350

  10. RE: oldbytes.space/@thelastpsion/1

    And the results are in!

    1. Pico C
    2. Rust
    3. Free Pascal
    4. Joint with Pico C++, MicroZig and Yarg.

    So, what am I going to do? Well, I'm leaning towards porting the existing Arduino C code to the Pico C SDK. I'm currently using one class for encapsulation and abstraction, but I could replace that with structs and static functions. I'm not a great C programmer, but I'm pretty comfortable with it, so it makes sense

    However, before I do that, I see a bigger challenge of getting a good setup without using VS Code. I've been using #NeoVim for a while now, and I'd like to get a comfortable setup using that on #Linux.

    So, I'm going to try to build Blinky projects for at least Pico C, Rust and Free Pascal, using Linux and NeoVim. Hopefully this will give me a better feel for how well these languages actually suit me. I've never done any Rust before, either, so that's going to be quite the learning curve!

    If I have time, I'm going to give Yarg a go, too, because I think the premise is really cool. If I'm on a roll, I'll try #MicroZig too.

    And if I really feel like I have the capacity, I'll port the code to one of these other languages.

    I'm acutely aware of all the other projects I've given myself to do, such as the SIBO SDK and other small Psion-related projects, not to mention $dayjob and $reallife. So we'll see how things go!

    #Pascal #FreePascal #ObjectPascal #RustLang #YargLang #RaspberryPiPico #PiPico #PiPico2 #RP2040 #RP2350




  11. (1) Does the Apple MacBook Neo support virtualisation (Hypervisor)?

    (2) Can you do macOS/iOS software development on an Apple MacBook Neo?

    (3) Can you do software development on an Apple MacBook Neo?

  12. REPOST (JAN 2024): My first thoughts on #Psion's dialect of Object Oriented C for the Series 3 and related portable computers.

    Includes the JPI/Clarion #TopSpeed #compiler, a proprietary preprocessor, the Eiffel programming language, and a handful of calling conventions.

    Also, did somebody say Objective-C?

    This is an old blog post from the beginning of the year. If you've been following my journey in recreating #CTRAN, this was written a week before I decided to take the plunge.

    hackaday.io/project/161291-the

    (Yes, I did say in the article that I definitely wouldn't be writing a compiler. I did say that.)

    #RetroComputing #EPOC16 #CDECL #Clarion #TopSpeed #TopSpeedC #RetroProgramming #RetroDev #Smalltalk #ObjectPascal #preprocessor #Eiffel #OOP #ObjectiveC #compilers #ObjectOriented

  13. ICYMI: My first thoughts on #Psion's dialect of Object Oriented C for the Series 3 and related portable computers.

    Includes the JPI/Clarion TopSpeed compiler, a proprietary preprocessor, the Eiffel programming language, and a handful of calling conventions.

    Also, did somebody say Objective-C?

    hackaday.io/project/161291-the

    #RetroComputing #EPOC16 #CDECL #Clarion #TopSpeed #TopSpeedC #RetroProgramming #RetroDev #Smalltalk #ObjectPascal #preprocessor #Eiffel #OOP #ObjectiveC

  14. I've been musing on #OOP style. I have a question for the more experienced programmers out there.

    How do you decide when a class's method doesn't actually need to be a method, but instead could just be a regular function?

    I'm not talking about functions that need to be shared between classes. I'm talking about intentionally moving a method outside of a class, even though it will only ever be used by that class.

    For example, if I've got a parser-related function that is only needed by the parser, I will normally just put it in the parser class as a method. It keeps things neat, I can make it private and lock down the class. But I've never before stopped to think whether this is the correct thing to do every time.

    After all, #Pascal (my language of choice) has the concept of units. I could just have some functions just as functions, and only have methods for things that directly need to update the class's properties.

    It would make things easier for testing, too. I wouldn't need to create an instance of a class just to test a specific function works as intended.

    But I don't know if it's the "right" way to do things in OO, or #ObjectPascal for that matter.

    #OO

  15. Has anyone managed to get #NeoVim with #DAP and #gdb working with #Pascal?

    I'm using #LazyVim, so a lot of DAP is preconfigured using an Extra (dap.core). Unsurprisingly, Pascal is not one of the languages supported by default.

    #ObjectPascal #FreePascal #debugger

  16. Has anyone managed to get #NeoVim with #DAP and #gdb working with #Pascal?

    I'm using #LazyVim, so a lot of DAP is preconfigured using an Extra (dap.core). Unsurprisingly, Pascal is not one of the languages supported by default.

    #ObjectPascal #FreePascal #debugger

  17. Has anyone managed to get #NeoVim with #DAP and #gdb working with #Pascal?

    I'm using #LazyVim, so a lot of DAP is preconfigured using an Extra (dap.core). Unsurprisingly, Pascal is not one of the languages supported by default.

    #ObjectPascal #FreePascal #debugger

  18. Has anyone managed to get #NeoVim with #DAP and #gdb working with #Pascal?

    I'm using #LazyVim, so a lot of DAP is preconfigured using an Extra (dap.core). Unsurprisingly, Pascal is not one of the languages supported by default.

    #ObjectPascal #FreePascal #debugger

  19. Has anyone managed to get #NeoVim with #DAP and #gdb working with #Pascal?

    I'm using #LazyVim, so a lot of DAP is preconfigured using an Extra (dap.core). Unsurprisingly, Pascal is not one of the languages supported by default.

    #ObjectPascal #FreePascal #debugger

  20. Thoughts on 3 months of #ObjectPascal #FreePascal usage (in #NeoVim):

    - Easy to pick up and read
    - Good libraries
    - Generics
    - No closures
    - Binaries aren't small
    - LSP (pasls) isn't complete, but better than nothing; #Treesitter + #Periscope really help
    - Docs are frustrating
    - Good forums/community
    - Targets SO MANY platforms (#HaikuOS, 32-bit #DOS, #Amiga, #Z80, #baremetal)! More than Rust, Go
    - A *lot* of historic books and projects

    Would I use #Pascal again? Absolutely yes, without doubt.

  21. If anyone wants to see some incredibly poor #ObjectPascal, here's a link to #ecobj in its current form.

    It's very much at the "work out how any of this works" stage. Expect the code to change radically!

    codeberg.org/thelastpsion/ecobj

  22. Niklaus , more than a pioneer of computer science and informatics, and the inventor of W, , , , and passed away on January 1st, 2024. RIP.

    developer-tech.com/news/2024/j

  23. vkcube running on 64-bit RISC-V Alpine Linux in my PasRISCV Emulator in turn with the Vulkan-based PasRISCVEmu UI backend. #riscv #vulkan #ObjectPascal #FreePascal #Delphi
    @riscv @vulkan

  24. I've been musing on #OOP style. I have a question for the more experienced programmers out there.

    How do you decide when a class's method doesn't actually need to be a method, but instead could just be a regular function?

    I'm not talking about functions that need to be shared between classes. I'm talking about intentionally moving a method outside of a class, even though it will only ever be used by that class.

    For example, if I've got a parser-related function that is only needed by the parser, I will normally just put it in the parser class as a method. It keeps things neat, I can make it private and lock down the class. But I've never before stopped to think whether this is the correct thing to do every time.

    After all, #Pascal (my language of choice) has the concept of units. I could just have some functions just as functions, and only have methods for things that directly need to update the class's properties.

    It would make things easier for testing, too. I wouldn't need to create an instance of a class just to test a specific function works as intended.

    But I don't know if it's the "right" way to do things in OO, or #ObjectPascal for that matter.

    #OO

  25. PasLLM is finally publicly released!

    A high-performance LLM inference engine written in pure Object Pascal.

    ✨ No Python dependencies
    🎯 Advanced 4-bit quantization
    🖥️ Cross-platform (Delphi & FreePascal)
    ⚡ Native performance

    Supports Llama 3.x, Qwen, Phi-3, Mixtral, DeepSeek R1 & more!

    Open source (AGPL 3.0): github.com/BeRo1985/pasllm (synced from my private repo on my on server)

    #ObjectPascal #Delphi #FreePascal #LLM #AI

  26. If you were writing a #compiler (or, in my case, a #preprocessor) and you had to think of a variable name for a "class" struct, but you can't use the keyword class... what would you call that variable?

    Plot twist: The compiler/preprocessor is written in #ObjectPascal. (So it's actually a record, not a struct. Same difference.)

    I'm currently using the variable name class_item which is a very un-Pascal identifier for many reasons. I'm thinking of using PClass or PsiClass just to get around it.

    #Pascal #FreePascal

  27. A short preview demonstration of PALM with llama3.2 1TB as base model - A Object-Pascal-native LLM engine with inline assembler AVX2 SIMD optimizations, running on the CPU with StreamingLLM-like "endlessly" context-windowing and 8-bit quantized weights and activations (W8A8), and multithreaded/parallelized with my PasMP library. But support for 4-bit weights (for W4A8) is also on the roadmap.

    youtube.com/watch?v=LnKCiIdWqvg

    #llm #objectpascal #pascal #freepascal #delphi #llama #ai

  28. CapaCalc is a software application that calculates the electrical of a variety of conductor arrangements, even in unusual geometry. It is written in with the and the . github.com/wp-xyz/CapaCalc

  29. So, I'm at a crossroads. I'm contemplating:

    I feel like I'm slowing down with CTRAN development. After all, it "works"... but it's not "right."

    The write-up is just a hard slog.

    Moving on to a new tool might give me some inspiration on how to improve CTRAN. But I don't want to leave a trail of mostly-finished projects in my wake.

    The C project is a bit special to me. It's also something people might actually use - unusual for one of my projects! It's for Psion #EPOC16 and would enable a huge number of old games to run on the Series 3a/c/mx.

    I was hoping to use NeoVim, but with clangd being awkward, I'd have to use VS Code.

  30. #CTRAN 0.0.2 is out!

    OK, I know no one is using this, but I'm going to shout about it anyway. For those who don't know, this is my rewrite of #Psion's proprietary OO C preprocessor. It takes class definition files and spits out "pure" C or TASM.

    This release doesn't add much beyond a handful of bug fixes. However, it is significantly faster than 0.0.1 thanks to using more of #FreePascal's classes and generics.

    #RetroComputing #RetroDev #Pascal #ObjectPascal

    github.com/thelastpsion/ctran/

  31. Current main projects:

    • #CTRAN: Start writing unit tests with FPCUnit. Also, complete a full write-up of what it took to get the thing working.
    • Get my website running #GoHugo
    • Rip the batteries out of the Revo I was given last week and assess the damage #Psion

    Immediately upcoming projects:

    • Rebuild of DEATH, my Microserver gen8, probably with #FreeBSD.
    • EMAKE: Complete recreation of the SIBO C SDK "linker" in #ObjectPascal. To be started once I'm happy with CTRAN's unit tests.
    • #ThinkPad T480 mods
    • Read some #compiler related programming books

    These are just the ones I can think of right now.

  32. I renamed my GitHub account so that it's also "thelastpsion" (the old name was for an old project that never took off).

    If you're interested in keeping an eye on my current #FreePascal #ObjectPascal shenanigans, you can find #CTRAN (my drop-in replacement for #Psion's OO C preprocessor) here:

    github.com/thelastpsion/ctran

  33. Bouncing around a few things today.

    - Building custom #OpenWrt images for $dayjob to run on modified BT Home Hub 5a units
    - Connecting to a test BT Hub 5a over TTL to see what's going on during boot
    - Trying to remember #Strongswan configs for talking to Cisco ASAs over IPsec VPN, again for $dayjob
    - Building #MAME 0.266 on #HaikuOS R1B5 in the background, because MAME 0.269 and 0.270 are failing and I don't know why
    - Dipping into #CTRAN's #ObjectPascal source when I want a break (!!!)

  34. Struggled a little with #Lazarus while setting up both #Zeos for database access and #mORMot2. I just don't use it enough to find my way around quickly and safely. But now my little test project at least compiles without errors, even if it doesn't actually do anything yet.
    #ObjectPascal #SOA #FreePascal

  35. @gregowicz [2/2] so you can compare the modern #ObjectPascal to C++ or Objective-C. All the modern features you expect from a programming language of today can be found in the various Pascal-dialects I mentioned in my toot. You can even compile ObjectPascal code to JavaScript with the #pas2js compiler¹ which comes with the latest #FreePascal or with the (proprietary) Smart Mobile Studio... You can find game engines, ORM and web frameworks and many more...
    ¹wiki.freepascal.org/pas2js