CalderaD - SDL2 Vulkan renderer for windows, linux, and android

2021-05-14 Thread Danny Arends via Digitalmars-d-announce

Dear all,

I'm proud to announce CalderaD, yet another SDL2 Vulkan renderer 
in the D Programming Language. However, this one will work on 
Windows, Linux, and even Android. The current 'engine' is based 
on the excellent vulkan-tutorial.com, and uses SDL2 via the 
bindbc-sdl bindings for cross-platform support. Vulkan support is 
provided by using the ErupteD binding for Vulkan.


Find the GPL-v3 licensed code here: 
https://github.com/DannyArends/CalderaD


The name CalderaD, comes from the word caldera a large 
cauldron-like hollow that forms shortly after a volcanic 
eruption. The term comes from Spanish caldera, and Latin 
caldaria, meaning "cooking pot".


I hope this project can help others cook up some nice android 
apps, and will show that a language like D has something to offer 
on the mobile platform.


Danny



Re: CalderaD - SDL2 Vulkan renderer for windows, linux, and android

2021-05-14 Thread evilrat via Digitalmars-d-announce

On Friday, 14 May 2021 at 16:39:53 UTC, Danny Arends wrote:


Find the GPL-v3 licensed code here: 
https://github.com/DannyArends/CalderaD




You can set up platform filters in dub to automatically match 
target platforms without specifying configuration for build.


See this 
https://github.com/Superbelko/android-sdl-d/blob/master/dub.json


P.S. No idea why you choose GPL, I usually don't bother with GPL 
libraries because of license, and I think this is also the 
majority of people on this forum.


Re: CalderaD - SDL2 Vulkan renderer for windows, linux, and android

2021-05-14 Thread Danny Arends via Digitalmars-d-announce

On Friday, 14 May 2021 at 17:29:13 UTC, evilrat wrote:

On Friday, 14 May 2021 at 16:39:53 UTC, Danny Arends wrote:


Find the GPL-v3 licensed code here: 
https://github.com/DannyArends/CalderaD




You can set up platform filters in dub to automatically match 
target platforms without specifying configuration for build.


See this 
https://github.com/Superbelko/android-sdl-d/blob/master/dub.json


P.S. No idea why you choose GPL, I usually don't bother with 
GPL libraries because of license, and I think this is also the 
majority of people on this forum.


Hmm, things gotta have a license, why not GPL would CC0 be 
better? is attribution and sharing code so weird ?


I think: "license": "proprietary" also doesn't sound very inviting
Any suggestions license-wise ?

Thanks for the configuration tip



Re: CalderaD - SDL2 Vulkan renderer for windows, linux, and android

2021-05-14 Thread Adam D. Ruppe via Digitalmars-d-announce

On Friday, 14 May 2021 at 17:38:54 UTC, Danny Arends wrote:
Hmm, things gotta have a license, why not GPL would CC0 be 
better? is attribution and sharing code so weird ?


GPL is a perfectly fine license. If people don't want to use it 
because of that, their loss, not your problem.


Re: CalderaD - SDL2 Vulkan renderer for windows, linux, and android

2021-05-14 Thread evilrat via Digitalmars-d-announce

On Friday, 14 May 2021 at 17:38:54 UTC, Danny Arends wrote:


Hmm, things gotta have a license, why not GPL would CC0 be 
better? is attribution and sharing code so weird ?


I think: "license": "proprietary" also doesn't sound very 
inviting


It's a WIP tutorial project. It is not finished yet. It needs 
more details where needed and have everything re-checked.



Any suggestions license-wise ?




zlib, Boost, BSD/MIT, anything will do, its just the GPL itself. 
I don't think it is allowed to copy-paste any part of it at all.


Licensing is pain and I usually avoid it, so please refer to 
special web sites that will help pick the license that suit your 
intentions.


Or at least make it LGPL so it is possible to be used as a 
library without licensing headache.


Re: CalderaD - SDL2 Vulkan renderer for windows, linux, and android

2021-05-14 Thread bioinfornatics via Digitalmars-d-announce

On Friday, 14 May 2021 at 17:38:54 UTC, Danny Arends wrote:

On Friday, 14 May 2021 at 17:29:13 UTC, evilrat wrote:

On Friday, 14 May 2021 at 16:39:53 UTC, Danny Arends wrote:


Find the GPL-v3 licensed code here: 
https://github.com/DannyArends/CalderaD




You can set up platform filters in dub to automatically match 
target platforms without specifying configuration for build.


See this 
https://github.com/Superbelko/android-sdl-d/blob/master/dub.json


P.S. No idea why you choose GPL, I usually don't bother with 
GPL libraries because of license, and I think this is also the 
majority of people on this forum.


Hmm, things gotta have a license, why not GPL would CC0 be 
better? is attribution and sharing code so weird ?


I think: "license": "proprietary" also doesn't sound very 
inviting

Any suggestions license-wise ?

Thanks for the configuration tip


To complete the subject,
A GPL licence imply that any software that use your library have 
to be a GPL like licence.


Usually for a library we use a LGPL licence. That is a non viral 
licence bases on GPL.


Below a list if compatible licence :
https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#SoftwareLicenses


Re: CalderaD - SDL2 Vulkan renderer for windows, linux, and android

2021-05-14 Thread Imperatorn via Digitalmars-d-announce

On Friday, 14 May 2021 at 16:39:53 UTC, Danny Arends wrote:

Dear all,

I'm proud to announce CalderaD, yet another SDL2 Vulkan 
renderer in the D Programming Language. However, this one will 
work on Windows, Linux, and even Android. The current 'engine' 
is based on the excellent vulkan-tutorial.com, and uses SDL2 
via the bindbc-sdl bindings for cross-platform support. Vulkan 
support is provided by using the ErupteD binding for Vulkan.


[...]


Nice! Is it on dub as well?


Til, a command language written in D

2021-05-14 Thread Cléber Zavadniak via Digitalmars-d-announce

Hey, folks, how you doing?

2 months ago I started playing with a small personal project: 
creating a simple programming language / interpreter, both for 
fun and for learning more about... you know... creating a 
programming language / interpreter. :-)


Now, *I'm not exactly a Walter Bright*, so I decided to start 
with a **dynamic, Tcl-like language: command-based and without 
much "syntax"**. I tried to avoid the "*everything is a string*" 
concept and even played for some time with "*everything is a 
list*" (almost like Lisp, but with fewer parentheses) and even 
"*everything is a forward range*" - the results, then, were 
**horrible**, but, anyways... I've learned interesting lessons 
(specially: how important, powerful and versatile a simple STACK 
is).


[Til](https://github.com/til-lang/) is now mature enough, IMHO, 
to the point I'm spending more time writing documentation and 
"spreading the word" than coding that much. I published two 
packages on Dub (the language itself and a module) and created a 
[Github-Pages-Website](https://til-lang.github.io/til/), already.


I'm not pretentious in any form (I know it's just "*yet another 
language*"), but I'm actually very happy with the results: I can 
write programs in a interpreted language (I appreciate the power 
and development speed it gives me) and can extend it with another 
very nice (and powerful) language - D.


(Most other languages still follow the formula "extend it with C" 
and, although I consider myself a "C friendly" guy, that usually 
doesn't appeal that much to me..)



Anyway: the last thing I was working was **loading dynamic 
libraries as "modules"** and I stumbled across the potential 
problem of having two different GCs running independently. This 
article, https://dlang.org/articles/dll-linux.html , talks about 
linking the results (both the interpreter and the shared library) 
with `libphobos2.so` -- but it's nowhere to be found on my (Void) 
Linux system (and neither on FreeBSD). So I have some questions:


1- Should I compile a `libphobos2.so` "by hand"? Should I use 
`libphobos2-ldc-shared.so`???
2- Is the GC really going to run on my shared library after 
loading it? (I think that's maybe a "silly question", but also 
believe it's worth clarifying the matter.)



I appreciate any help.

(Furthermore, I'd like to thank to all people helping to make D a 
language (and ecosystem and community) even more amazing each 
day. :-)


(FurtherEvenMore: I'm new to the forum, so I hope I choose the 
right place to post this message...)


Re: Til, a command language written in D

2021-05-14 Thread Witold Baryluk via Digitalmars-d-announce

On Friday, 14 May 2021 at 22:10:38 UTC, Cléber Zavadniak wrote:

Hey, folks, how you doing?


Good. Hope you are doing good too.



[Til](https://github.com/til-lang/) is now mature enough, IMHO, 
to the point I'm spending more time writing documentation and 
"spreading the word" than coding that much. I published two 
packages on Dub (the language itself and a module) and created 
a [Github-Pages-Website](https://til-lang.github.io/til/), 
already.




Nice. Pretty clean syntax, and the implementation.

I am not a fan of Tcl, but the Erlang influences are definitively 
cool.

I like sub processes and the piping.

Do you have some example of running external processes / commands.
with `Til`? Composing pipes between external processes, and
also between internal ones (maybe by some adapter that splits
pipe data by lines?).

A good alternative to bash is always welcome ;D



Re: Til, a command language written in D

2021-05-14 Thread Cléber Zavadniak via Digitalmars-d-announce

On Friday, 14 May 2021 at 22:18:50 UTC, Witold Baryluk wrote:


Nice. Pretty clean syntax, and the implementation.


Thanks! I'm relatively new to D itself, I'll confess. Suggestions 
of improvements to the code are welcomed.



I am not a fan of Tcl, but the Erlang influences are 
definitively cool.


I myself find Tcl awesome. But it has a lot of flaws, too. I'm 
kind of trying to fix some of its issues, as well (the first 
versions of Til were labeled "a better Tcl").


(Also: a Tcl-based has the advantage that I can use its syntax 
highlighting satisfactorily on most of the cases.)



I like sub processes and the piping.

Do you have some example of running external processes / 
commands.

with `Til`? Composing pipes between external processes, and
also between internal ones (maybe by some adapter that splits
pipe data by lines?).


The module I published on Dub is 
[til_exec](https://code.dlang.org/packages/til_exec) and it runs 
commands and returns status and output, for now.


(I'm trying to avoid the "giant standard library included" path, 
so I prefer to release modules separately.)


There's a lot of things lacking right now, for sure: you can 
`exec` commands but there's no way, yet (future readers: please 
pay attention to the timestamp of this post. Thanks), of breaking 
the command output in multiple lines.


(An example I can think would be the following, but 
`string.split` is the lacking part, currently:)


```tcl
exec ls / | string.split "\n" | foreach line {
 io.out $line
}
```

Interestingly, Til *pipes* were not born actually focused on 
handling external commands I/O, unix-shell-style, despite the 
obvious similarity. The first pipes implementation was an attempt 
to avoid Tcl sometimes-weird nested-commands syntax (used a lot 
for indexing) for instance, like `set parts [file split [file 
rootname $file_path]]`. But it evolved to be a way of handling 
**data** in general, while function parameters were supposed to 
define mostly **behavior**.




A good alternative to bash is always welcome ;D


Yeah... I don't know... Not following this goal right now. `bash` 
is still out there for some very good reasons, as far as I can 
see. Some things are just expected in a shell, like expanding 
`*`, and usually general-purpose programming languages just feel 
weird handling "shell things".


(But... who knows?...)