101010.pl is one of the many independent Mastodon servers you can use to participate in the fediverse.
101010.pl czyli najstarszy polski serwer Mastodon. Posiadamy wpisy do 2048 znaków.

Server stats:

480
active users

#freepascal

0 posts0 participants0 posts today

Before I got sidetracked into the type system I was working to get the command line compiler fully up and running.

The sticking point was command line arguments. I tried using #FreePascal's built in parser but it didn't have the flexibility I needed. I've now written something which does and I can now set the platform and deployment options.

#quiche #quichelang #compiler #pascal #z80

1/n

To break out of routine and for the sake of old times, I'm taking #FreePascal for a spin. Been meaning to anyway. Didn't expect to like it, but my toy project is coming along and keeping my interest. A pleasant surprise!

Continued thread

I've seen @chainq work on #FreePascal for #Amiga and the software he makes (Viaduct makes my mind blown and moves the A3000+486 on top of my wishlist)

But he's probably the only person doing that, except maybe this other guy who did Mapparium and similar

Sadly, the #AtariST port of FPC seems to be pretty much abandoned

Both are just #m68k, but the exec format different (Hunk is so comples, while TOS is simplistic, there is even ELF->TOS converter to use with regular m68k GCC)

Für alle, die #ProgrammierenLernen möchten: Fangt mit einer einfachen Sprache an, lasst Euch nicht die mit den Klammern aufschwatzen.

Zwischen geschweifte Klammern gehören Kommentare ... 🤭

Und perfekt geht das unter #Linux. Meine persönliche Empfehlung dazu: Linux Mint Cinnamon und #FreePascal mit der #LazarusIDE .

#Pascal #ObjectPascal

lazarus-ide.org/

lazarusforum.de/app.php/portal

www.lazarus-ide.orgLazarus HomepageLazarus is a professional open-source cross platform IDE powered by Free Pascal

Who is still programming in Pascal?

Any Pascal including Delphi, and other derivatives.

Why are you programming with it? For what kind of projects?

I'm very curious about this because I think people keeps using it but no one talks too much about it.

Moved instance, so time for a new #introduction!

I'm Alex and I have a PDA problem.

In 2018, after 16 years of using various #Psion portables, I decided to try my hand at developing hardware and software for my beloved Series 3c to help me with journalling and creative writing.

6 years and repeated sidequests later, I've ended up doing a lot of research into the SIBO/EPOC16 platform, and done my best to document it when I can. I've also nudged former developers into open sourcing their old Psion apps.

My current main projects are:

  • #PsiDrive, an #RP2040-based USB drive for SIBO SSDs.
  • Rewriting the Psion SIBO (16-bit 8086) C SDK, including updating the docs (with #AsciiDoc) and rewriting the original DOS tools as FOSS apps. I'm currently using #FreePascal to create a drop-in replacement for #CTRAN, the Psion OO C preprocessor. (I want to eventually write a new compiler targeting EPOC16. Eventually.)
  • Anything else that tickles my bouncy brain.

Outside of #retrocomputing, I'm your common-or-garden British nerd. I'm a Linux user - mostly Arch, but I dabble with others. I also like a bit of #HaikuOS and I'm planning on giving #FreeBSD a go very soon.

I used to be a senior computer monkey, specialising in on-prem SME infrastructure (I lament the loss of vSphere). Now I train others to become computer monkeys (for better or worse). As a result, sometimes you'll see me wrestling with old Cisco ASAs, Ubiquiti APs, or modded kit running #OpenWrt.

Generally, I like making things do stuff, especially if it's stuff that the thing wasn't originally designed to do.

What happens, when you join two paths in a #programming language when the second one is an absolute one?

join("foo", "/bar")
returns "foo/bar" or "/bar"?

The wonderful @meisterluk wrote a great article about that you might want to read: lukas-prokop.at/articles/2024-

I can not tell what version I'd actually prefer. There are situations where both versions would be "proper".

#Python #Golang #UNIX #POSIX #rust #C++ #CPP #Java #dotNet #Dart #Flutter #Dlang #TCL #Nim #FreePascal #PowerShell #zig

lukas-prokop.atLukas' weblog

Current projects:

▶️ #CTRAN: A drop-in FOSS replacement for CTRAN.EXE, the #Psion SIBO/EPOC16 OO C preprocessor on #DOS. Almost feature complete, but still work to do!
▶️ #ObjectPascal with #FreePascal: Used for CTRAN for easy development and portability. Honestly, I'm really enjoying it; it fits my needs and makes my brain happy.
▶️ RAM upgrade for 3mx to 4MB: Trying to source old DRAM isn't easy.
▶️ RAM upgrade for 5mx: Got the DRAM. Just need to solder it in place.

Today evening I used to examine the database proxy possibility in the new release of #ZeosDBO V8. It needed a few approaches to get it configured right in #Lazarus. But at the end it runned successful and connects via http protocol to an underneath Firebird database. Slower as direct communication because all communication is done via SOAP/XML. But good to know that it works and how to get it running.
#FreePascal #DatabaseAccess

Continued thread

#Pascal (and, by extension, #ObjectPascal) isn't one of the languages du jour, but it deserves to be, especially for cross-platform CLI tools. It's easy to get running with the standard libraries without worrying too much about RAM management, but you can go low-level whenever you want.

My use case is replacing SDK tools from the 90s. I can develop and test on Linux, and know that it's going to compile for DOS with minimal-to-zero effort, as well as Win64, *BSD, Haiku, AmigaOS...

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.

Replied in thread

About 30 lines of code later, and I can now pull lines of tokens, one by one. I've also been able to remove the generation of newline tokens, as they're no longer needed.

I didn't realise in #FreePascal that Result is preserved in a function! I'm having to `nil` one of the dynamic arrays every time, otherwise it remembers what it generated last time.

#ctran's parser has now been disabled because it relied on newlines, but that's fine. It's about to be torn apart.

ALT text explains the output.

Replied in thread

I say "maybe", because it looks like variant records have a fixed size. If that's the case, the #FreePascal might not like me having a dynamic array of variant records, where some of the variant records contain dynamic arrays of AnsiStrings. Unless Free Pascal does some clever memory management in the background.

Another option is to add an "item number" variable to each record, then searching for the next one so that they're processed in order.