Giter VIP home page Giter VIP logo

qse's Introduction

qSE

This repository contains things that initialise ⎕SE and end up there, as a sort of boot-strapping.

Note that ⎕SE is currently populated as follows:

  • The interpreter loads a session .dse file which is created by the buildse.dws workspace and contains (on Windows) mostly GUI objects.
  • The interpreter automatically loads and executes StartupSession.aplf which in turn:
    • Loads Link
    • Uses that to load things from various StartupSession folders
    • Boots SALT
      • Loads and executes setup.dyalog if it exists
      • Loads and executes a .dyapp file if specified
    • Calls any Run functions in the Link-loaded directories

qse's People

Contributors

abrudz avatar aplteam avatar dimitryo avatar dyaandys avatar e9gille avatar mkromberg avatar nicolas-dyalog avatar rikedyp avatar stampes avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

qse's Issues

Non-Windows: ~/.dyalog needs to be added to the directories which are searched for Run.aplfs etc

StartupSession.aplf@9d97012

In 19.0 on non-Windows platforms we currently look in the following directories for startup files (eg Run.aplf)
/opt/mdyalog/19.0/64/unicode
/home/andys/dyalog.files
/home/andys/dyalog.190U64.files

However, we are actually putting Tatin and Cider in /home/andys/.dyalog/dyalog.190U64.files.
While we think about all of this for 20.0, the immediate problem is to allow Cider to work in 19.0 on non-Windows platforms. My suggestion is to simply add /home/andys/.dyalog/dyalog.190U64.files to the list of directories to be searched. The following seems to work:

In StartupSession.aplf replace (line 107 ish):

     :If 0∊≢¨envVars
         defaults←{
             verSpec←{
                 ⍵:NoSlash 2⊃4070⌶⍬ ⍝ win only: version specific folder in user docs folder
                 num←∊2↑'.'Cut ver
                 uc←'UC'/⍨80 82=⎕DR'' ⍝ unicode/classic
                 bits←¯2↑'32',{⍵↓⍨⍵⍳'-'}os
                 home,'/dyalog.',num,uc,bits,'.files'
             }⍵
             user←⊃⎕NPARTS verSpec ⍝ /../
             verAgno←user,'dyalog.files' 'Dyalog APL Files'⊃⍨1+⍵
             ∊¨1 ⎕NPARTS dyalog verAgno verSpec ⍝ normalise
         }win
     :EndIf

with

     :If 0∊≢¨envVars
         defaults←{
             verSpec←{
                 ⍵:NoSlash 2⊃4070⌶⍬ ⍝ win only: version specific folder in user docs folder
                 num←∊2↑'.'Cut ver
                 uc←'UC'/⍨80 82=⎕DR'' ⍝ unicode/classic
                 bits←¯2↑'32',{⍵↓⍨⍵⍳'-'}os
                 ∊¨(,\home '/.dyalog'),¨⊂'/dyalog.',num,uc,bits,'.files'
             }⍵
             user←⊃⊃⎕NPARTS verSpec ⍝ /../
             verAgno←∊¨(,\user '.dyalog/'),¨⊂'dyalog.files' 'Dyalog APL Files'⊃⍨1+⍵
             ∊¨1 ⎕NPARTS (⊂dyalog),verAgno,verSpec ⍝ normalise
         }win
     :EndIf

)CLEAR re-establishes the LOAD= link

      )clear
clear ws
      ]link.create # c:\devt\nuget\aplsource
ERRORS ENCOUNTERED: ⎕SE.Link.Create: Already linked: #
      +2 ⎕NQ '.' 'GetCommandLine'
"C:\Program Files\Dyalog\Dyalog APL-64 19.0 Unicode\dyalog.exe" LX= LOAD="C:\devt\owum\APLSource"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.