Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Jun 14 21:13

    yuriy-chumak on master

    added (scheme srfi-27), nice in… (compare)

  • Jun 14 19:06

    yuriy-chumak on master

    rosettacode (compare)

  • Jun 14 19:04

    yuriy-chumak on master

    rosettacode (compare)

  • Jun 14 18:57

    yuriy-chumak on master

    notes scheme naming *vm-args* changed to scheme (co… and 4 more (compare)

  • Jun 13 21:14

    yuriy-chumak on master

    better syntax error handling (compare)

  • Jun 06 17:30
    seanjensengrey starred yuriy-chumak/ol
  • Jun 06 13:54

    yuriy-chumak on master

    small http lib fix life3d sample speedup (compare)

  • Jun 06 05:28
    K4tsuki starred yuriy-chumak/ol
  • May 29 23:25
    zmughal starred yuriy-chumak/ol
  • May 29 21:38
    esneko starred yuriy-chumak/ol
  • May 29 17:54
    dbohdan starred yuriy-chumak/ol
  • May 26 11:25

    yuriy-chumak on master

    build fix (compare)

  • May 25 19:21

    yuriy-chumak on master

    notes (compare)

  • May 25 02:33
    ebigram starred yuriy-chumak/ol
  • May 22 17:55

    yuriy-chumak on master

    big-endian dependent code preco… cleanup (compare)

  • May 20 20:03
    KikyTokamuro starred yuriy-chumak/ol
  • May 14 11:04

    yuriy-chumak on master

    cleanup special symbol in case with vec… (compare)

  • May 13 21:11

    yuriy-chumak on master

    (lang compile) -> (lang rtl) internal compiler refactoring (compare)

  • May 13 12:54

    yuriy-chumak on master

    closure-var -> closure cleanup (compare)

  • May 13 12:30

    yuriy-chumak on master

    [!] Fixed bug with error messag… (compare)

Uri
@yuriy-chumak
Fixed numbers parser. Now we can safely write numbers like +inf.0-+nan.0i that's a valid complex number.
Uri
@yuriy-chumak

OLVM_BUILTIN_FMATH became ENABLED by default.

So default build require "-lm" (or -DOLVM_BUILTIN_FMATH=0 to disable builtin floating point extra math like 'sqrt').

Luis Souto Graña
@spectrumgomas_twitter

Hello, I install Otus Lisp in Manjaro, but this happens to me:
[spectrumgomas@cacharro ~]$ ol
Welcome to Otus Lisp 2.1-2518-5131665f
type ',help' to help, ',quit' to end session.

(import (otus random!))
;; Library (otus random!) added
;; Imported (otus random!)
(rand! 9)
6
It works :D
(import (lib gl))
Import failed because Failed to load (lib gl) because
Library (lib gl) failed:
Failed to load (otus ffi) because
Library (otus ffi) failed:
error 62011 ->
62011 .. 1 62011

What's wrong?

Uri
@yuriy-chumak
Interesting.. I'll check.
Uri
@yuriy-chumak
image.png
Thank you, I've reproduced the issue. Will fix soon.
Uri
@yuriy-chumak
@spectrumgomas_twitter,
The reason - invalid Makefile script. For now you can change the Makefile line 26 HAS_DLOPEN ?= $(call exists,,<stdlib.h>, dlopen, -ldl) into HAS_DLOPEN = 1 and rebuild the ol using make -B command line.
After this the ol will work fine.
image.png
Uri
@yuriy-chumak
Fixed in 929f1e41e13411898f260163f42d7caf21025516.
Just do git pull; make; make install )
Luis Souto Graña
@spectrumgomas_twitter
Great! Thanks from Spain :D
Now all the examples of ol/samples/OpenGL/ work except the "105. Terminal.lisp" . It says:
Definition of libsoil failed because
Can't load libsoil try to 'apt install libsoil1', for example
I installed soil but it continues to fail.
Could it be because of the SOIL capitals?
/usr/include/SOIL/SOIL.h
/usr/include/SOIL/image_DXT.h
/usr/include/SOIL/image_helper.h
/usr/include/SOIL/stb_image_aug.h
/usr/include/SOIL/stbi_DDS_aug.h
/usr/include/SOIL/stbi_DDS_aug_c.h
/usr/lib/libSOIL.so
/usr/lib/libSOIL.so.1
/usr/lib/libSOIL.so.1.16
Uri
@yuriy-chumak

I like Spain)

No, it's not of the SOIL capitals.
Few words about otus ffi mechanics: ol use "dlopen" and "dlsym" internally, so easy way to check the library support is to run (load-dynamic-library "...") or simply (dlopen (c-string "...")) for libraries.
I have installed libSOIL for Manjaro too and see a strange behavior:

image.png
Uri
@yuriy-chumak
Well, I have found issue. This is libSOIL issue.
image.png
In words: libSOIL binary have not met all required OpenGL dependencies.
Uri
@yuriy-chumak
tested with macOS again.
all works fine
image.png
Luis Souto Graña
@spectrumgomas_twitter
OK. I installed soil from source with https://github.com/kbranigan/Simple-OpenGL-Image-Library/blob/master/soil.html, but it created /usr/local/lib/libSOIL.a and it doesn't work with otus. I'll try Ubuntu :D
Uri
@yuriy-chumak

No, you have made a static library, not a shared (.a is static, .so is shared). Default libsoil makefile creates static library.
Try to gcc src/image_helper.c src/stb_image_aug.c src/image_DXT.c src/SOIL.c -lGL -lpng -lm -shared -fPIC from cloned libSOIL directory.

Anyway, Ubuntu contains a proper shared library. 'libsoil1' package.

Uri
@yuriy-chumak
image.png
Luis Souto Graña
@spectrumgomas_twitter
Yes, now it works! Thanks!
Luis Souto Graña
@spectrumgomas_twitter
Wizards and Dragons works too!. Many thanks!, I'm an isometric fanboy because one of my first games was this: https://www.youtube.com/watch?v=0qa-WBuXKlU
Uri
@yuriy-chumak
nice )
Uri
@yuriy-chumak
Just notification:
Otus Lisp supports short syntax for vectors and dictionaries.
[] is a short for vectors, '[] and `[] works like with lists.
{} is a short for ff's (dictionaries), '{} and `{} works like with lists too.
Example:
[1 2 3] is a synonym for (make-vector '(1 2 3)),
{ 1 "one" 2 "two"} is synonym for (make-ff '(1 "one" 2 "two")).
Uri
@yuriy-chumak
Retested interesting usecase: calling of ol function (via ffi) from called native function from ol (via ffi), the ol->c->ol and back call.
It works perfectly for more than 10 million calls. The samples/GTK/opengl.lisp sample.
Luis Souto Graña
@spectrumgomas_twitter
I've made progress. I know that читаємо is Ukrainian, not Russian. :D
Uri
@yuriy-chumak
Haha, yep))
Sorry for non english comments - just a working moments that not be cleaned yet.
Luis Souto Graña
@spectrumgomas_twitter
No problem. I found a Ukrainian/Spanish dictionary. :D
Uri
@yuriy-chumak

Feel free to ask any question. I like Ol very much and be glad to extend usage scenarios.

Did you seen the rosettacode Ol section? The same code I'm using as regression tests in tests/rosettacode folder.

Luis Souto Graña
@spectrumgomas_twitter
Thanks a lot. I'll ask when I have doubts. I've been so far with GNU Guile, although I'm a newbie, but I'm interested in OpenGL and OL examples are far better than Guile OpenGL examples. I'll try start there. I also have to read this book, the first of R7RS: https://www.springer.com/gp/book/9783662579688 .
Uri
@yuriy-chumak
nice.
Uri
@yuriy-chumak
just for fun - added base64 encoder/decoder to the tests.
Uri
@yuriy-chumak
Uri
@yuriy-chumak
added new nice opengl sample
image.png
Uri
@yuriy-chumak
important update:
No more c-string function required to be called within ffi. The conversion from ansi and unicode strings to the "c" string is builtin into ffi.
Uri
@yuriy-chumak
70 stars! Nice.
Uri
@yuriy-chumak
I have updated source code parser to the ported owl-lisp's version.
Benefits: parser goes to be a purely functional, so no more chance to lost a data while reapplying lazy list parts when going backward and forward throught the list.
Uri
@yuriy-chumak
изображение.png
Well, Ol works fine even intense using 3.6 GB of memory.
I have finished draft program that uses native code as extension (like ffi) for matrix math and trains neural net for understaning handwritten numbers (via mnist database).
Uri
@yuriy-chumak

I have created Ol public repository to be able share a code that is not an important part of Ol. I'll move some of libraries from Ol repository to this public one.
The reason - main repository looks fatter than it should be.

I have choosed a "KISS" as a package manager . It's small, simple and doesn't look like a blob like most others (and is not required installation - just download a one shell script). And it works under any posix-like OS.

So, if you want to install Ol or ol ann library (as first external library), please refer to README.

Uri
@yuriy-chumak
Well, I have upgraded makefile and now do a lot of automatic testing. It's very important before version 2.2 is introduced.
Снимок экрана от 2021-02-25 12-55-49.png
Uri
@yuriy-chumak
Important update. (OL_) function prefixes changed to (OLVM_). Added new OL_ functions that are embed ol version.
Uri
@yuriy-chumak
Release 2.2 prepared.
A lot of changes has come.

Major changes:

  • stabilized simple dictionaries ({}) and vectors ([]) syntax,
  • new experimental human readable if statement extension,
  • +nan.0, -inf.0, and +inf.0 as legal inexact numbers and more built-in inexact math functions provided,
  • a lot of ffi updates and changes,
  • introduced Otus Lisp Packages Repository (based on KISS pm).

Full changes list and prebuilt binaries can be found at link.

Uri
@yuriy-chumak
As part of next release I've made changes in fasl format
At this point fasl format is truly 32/64 bit independent.