Hi Alex

>No, I want a *generic way* to call existing external libraries, e.g.

Powerbasic won't do what (native... does because it doesn't do variadic
arguments like lisp or even c...

Here's an example .....

BTW Important words are LoadLibrary  GetProcAddress Call DWORD FreeLibrary
and recently

IMPORT ADDR

What native does looks very cool....

'Declare function prototype
Declare Function protoFreeCCSDLL (Key as ASCIIZ,Param as ASCIIZ) as LONG

Function ProcessCreditCards() as LONG
    Local x as LONG
    Local hLib as LONG
    Local ProcAddr as DWORD
    local lResult as LONG

    'Retrieve DLL handle
    hLib = LoadLibrary("FREECCS.DLL")
    If IsFalse hLib Then
        MsgBox "FreeCCS.DLL is missing or damaged, please verify
installation", %MB_ICONSTOP,"CCS"
        Exit Function
    End If

    'Retrieve function address
    ProcAddr = GetProcAddress(hLib,"FreeCCSDLL")
    If ProcAddr = %NULL Then
        MsgBox "Could not find function FreeCCSDLL in FreeCCS.DLL"
        Exit Function
    End If

    Key = "MyKey"
    Param = "MyParam"

    'Call pointer to the function using Function prototype
    Call DWORD ProcAddr USING protoFreeCCSDLL(Key,Param) TO lResult

    'Do some more calls/processing

    'Release Library
    Call FreeLibrary(hLib)

    Function = lResult
End Function



On 4 February 2017 at 20:26, dean <deangwillia...@gmail.com> wrote:

> Re the carry flag...you can get at that :)
>
> On 4 February 2017 at 20:24, dean <deangwillia...@gmail.com> wrote:
>
>> Hi Alex
>>
>> With stack control I mean that you can do unlimited 'push'es and 'pop's
>> to/from
>> the stack inside a function, and build arbitrary structures this way on
>> the
>> stack. You can add, subtract, increment and decrement the stack pointer
>> arbitrarily, and switch between different stacks by assigning values to
>> the
>> stack pointer.
>>
>> I've read these and it looks like it i.e. you can save and restore EBP
>> and ESP
>> freeing you to do what you want with them until restoration
>> also you can push stuff of one size and pop it off in different sized
>> chunks.
>> It all looks very freestyle to me as long as you balance the stack when
>> you've finished.
>> I'd be very happy to try an example if you want.
>> https://www.powerbasic.com/help/pbcc/the_stack.htm
>> https://www.powerbasic.com/help/pbcc/using_esp_and_ebp.htm
>> https://www.powerbasic.com/help/pbcc/tricks_of_the_stack.htm
>>
>> On 4 February 2017 at 19:32, Lindsay John Lawrence <
>> lawrence.lindsayj...@gmail.com> wrote:
>>
>>> I also run PicoLisp out of a TinyCore Linux 'VirtualBox' image...
>>> This turned out to be the best route for me to get the performance and
>>> features of picolisp I wanted on microsoft windows hosts.
>>>
>>> TinyCore64 + vboxsf (to access host drives) + picolisp is a great combo
>>> in < 50Mb
>>> Exporting that as an 'appliance'  < 15Mb.
>>> == full linux kernel with all the goodness that provides + picolisp
>>> awesomeness to easily utilize all that goodness.
>>>
>>> A slightly larger image with docs+w3m+vim (or the picollsp 'vi'
>>> Alexander published) may make a nicely focused little 'lisp machine'  to
>>> learn and tinker on.
>>>
>>> /Lindsay
>>>
>>>
>>> On Sat, Feb 4, 2017 at 8:40 AM, Erik Gustafson <
>>> erik.d.gustaf...@gmail.com> wrote:
>>>
>>>> Hi list,
>>>>
>>>> Sounds like it's time to update the 'apt-get yourself some PicoLisp'
>>>> section on the wiki, as this is no longer the best route for those new to
>>>> the language.
>>>>
>>>> To confirm, the best options seem to be:
>>>>
>>>> - pil64 for Android
>>>> - Ersatz for Windows
>>>> - Docker Image (Packaged PL + Tiny Core)
>>>> - Build from source
>>>>
>>>> Please add if I'm missing anything.
>>>>
>>>> Now as far as trying PicoLisp goes, could we make a little app like
>>>> http://www.tryclj.com? A sandboxed subset of PL where one could try
>>>> out the language and maybe work through a short accompanying tutorial to
>>>> give a taste of the language, before diving into the install process. I
>>>> think this has been discussed before...?
>>>>
>>>> Also isn't there the Emulisp (PL in JS) REPL app? Could that be
>>>> leveraged? Maybe this is a solution without a problem; I agree with others
>>>> that most people discovering PL will likely be comfortable building from
>>>> source, spinning up a VM, etc
>>>>
>>>> Finally, a side note: I recently came across https://antergos.com.
>>>> It's basically a graphical installer for Arch Linux. I gave it a try and
>>>> found it to be as easy as installing Ubuntu... Click through the install
>>>> wizard and ten minutes later you've got a full-blown Arch desktop
>>>> environment (or base-install if desired) with built-in access to the AUR
>>>> The AUR has always been up to date (many thanks!) with the latest PicoLisp.
>>>> Might be worth a mention?
>>>>
>>>> Erik
>>>>
>>>
>>>
>>
>

Reply via email to