Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New functions and native modules. #11

Open
Spoiledpay opened this issue Nov 18, 2023 · 1 comment
Open

New functions and native modules. #11

Spoiledpay opened this issue Nov 18, 2023 · 1 comment

Comments

@Spoiledpay
Copy link

Spoiledpay commented Nov 18, 2023

Hello!
Thinking about expanding the functionalities, I imagine there is something related to new modules for the language such as:
*If any module suggestions already exist, you may have a separate folder of examples. This helps the adoption of the language. The more examples the better.

1 - File manipulation module (read files, write files, delete files, search files, create directories, delete directories);
2 - Module with time, date, year function;
3 - Module for windows Gui (Windows, buttons, menus, message box);
4 - Text Window Gui Module. Similar to the freeOberon Editor;

I'll put here what we can create or try to develop and when I have more knowledge I'll talk.
I note that we need a bunch of additional examples.

Thank you for your work. This above is a suggestion for improvement.

@kekcleader
Copy link
Owner

Hi @Spoiledpay, thank you very much for the comment and suggestions. The listed modules need improvement and documentation, but alsmost all of them exist.

  1. File manipulation:
  • Module Files - allows to read and write files in UTF-8 or plain bytes, also IO of basic data types.
  • Module Dir - allows to list files in directory.
  • Not sure about deleting files, but it should be there. Needs to be added otherwise. In original Oberon the module to do that is called FileDir.
  1. Time:
  • Module Time - procedures GetClock, GetDate, GetDateStr, GetDateTime, GetTime. Needs to be expanded, tested, fixed.
  • Originally some of these procedures can be found in module Oberon and sometimes module Kernel.
  1. Windows GUI.
  • There is a WinAPI module in Ofront+ that can be used in Free Oberon. I've never used the GUI procedures (only used the file and console manipulation procedures), but I think they are there.
  • There is an experimental module Gui and SimpleGui. A map editor example program is built using the SimpleGui module. All built on top of module Graph.
  • The next experiment will be in the direction of the Oberon concept of Gadgets - Oberon-07-style objects which implement different (RECORD) message-handling to become the components of the GUI.
  • As for the Windows GUI, it would be also great to have a cross-platform option.
  1. Text Window GUI
  • The very thing that Free Oberon IDE runs on is module OV (Oberon Vision - named after Turbo Vision)
  • The thing that OV runs on is called module TermBox. This module allows manipulation of console-screen characters and colors, keyboard and mouse input. It runs on top of module Graph at the moment, but is abstract enough (with some possible minor changes) to run on top of Windows Console (via WinAPI) and Linux Console (standard VT-100). It can be made to be usable even in DOS.

Please let me know what modules you are insterested in the most, or where you would like to help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants