Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Jacob Rothstein
@jbr
and to go from a key to a value, as you found, there's (get tasks “task 1”) or similar
which compiles to tasks[“task 1”]. if the keys are like ”task1" instead of ”task 1”, you can access them with dot notation (tasks.task1), just like in javascript
George Offley 🏳️‍🌈
@georgeoffley_twitter
Thanks!
That's actually good to know, I'm trying to figure out why I'm getting errors for what I built and I think rewriting some of it would help!
George Offley 🏳️‍🌈
@georgeoffley_twitter
Actually, if anyone could take a look and point me in the direction of where I'm going wrong I'd be grateful
(def ordered-tasks (task-list current-task)
    (var tasks-in-order [])

    (while (> (length tasks-in-order) 3)
        (var dependent-task (get task-list current-task))
        (if
            (= "" (get task-list dependent-task)) 
                (append dependent-task tasks-in-order)
            (append current-task tasks-in-order)
        )
    )

        (console.log tasks-in-order)
)


(ordered-tasks(tasks "make a sandwich"))
When I try to run that I get TypeError: orderedTasks(...) is not a function
The logic isn't exactly where I need it to be but I can't get this to run
The tasks argument is a hash type object as pointed out above
George Offley 🏳️‍🌈
@georgeoffley_twitter
Actually. I think I got it to run. Only issue now is the confusing way while loops and the if conditionals are set up
Ricardo Figueroa Riestra
@rfigueror1
Hi there, how can I concatenate arrays together? I am trying [1 2 4].concat( [3 5 8]).
Jacob Rothstein
@jbr
Scroll up for a discussion of that. [...[1 2 4] ...[3 5 8]] would work
(Or more commonly, with variables instead of sub array literals)
Ricardo Figueroa Riestra
@rfigueror1
thanks!
Jacob Rothstein
@jbr
Or (.concat [1 2 4] [3 5 8])
Ricardo Figueroa Riestra
@rfigueror1
Hi, are multi-line comments supported?
Jacob Rothstein
@jbr
Nope, just one line with ;;
Ricardo Figueroa Riestra
@rfigueror1
thanks
Francisco Felipe Suero
@thecog19
Just getting started with sibilant, i'm trying to do something relatively simple, where i iterate over an array of objects and perform some transformations. My issue is I can't quite figure out how to do two things in one pass. Example to follow:
(each item item-list (
        (
            set item "listed" false
        )
        (item)
        )
    )

works like a charm

 (each item item-list (
        (
            set item "listed" false
            set dict (get item "name") item
        )
        (item)
        )
    )

(and various variations) all seem to not work

I'll keep poking at the documentation, I'm sure its just my unfamiliarity with lisp, but I'd appreciate any help :)
Jacob Rothstein
@jbr
The parens are an important part of the syntax
Each function call needs its own parens
Francisco Felipe Suero
@thecog19
Yeah, I tried something like
 (each item item-list (
        (
            (set item "listed" false)
            (set dict (get item "name") item)
        )
        (item)
        )
    )
but trying to execute more than one instruction has it blow up with
SyntaxError: Unexpected token ;
    at createScript (vm.js:56:10)
    at Object.runInThisContext (vm.js:97:10)
    at Module._compile (module.js:542:28)
    at runInSandbox$ (/home/felipe/.nvm/versions/node/v6.10.2/lib/node_modules/sibilant/maps/src/cli.sibilant:16:7)
    at /home/felipe/.nvm/versions/node/v6.10.2/lib/node_modules/sibilant/maps/src/cli.sibilant:116:9
    at /home/felipe/.nvm/versions/node/v6.10.2/lib/node_modules/sibilant/maps/src/cli.sibilant:105:7
    at Array.forEach (native)
    at Object.<anonymous> (/home/felipe/.nvm/versions/node/v6.10.2/lib/node_modules/sibilant/maps/src/macros/lists.sibilant:101:15)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
Jacob Rothstein
@jbr
You have extra parens
And you don’t need parens around item on the third from last line
Check the parens in the each example
Francisco Felipe Suero
@thecog19
That helped, the extra parens were the ones after item-list i appreciate the help :)
Jacob Rothstein
@jbr
Happy to help, thanks for learning sibilant!
swazonic
@sclaybon
Finally found people interested in sibilant. Is this the only forum/chat room for sibilant?
Jacob Rothstein
@jbr
Yep! As far as I know, would be elated to learn that there was another one though
swazonic
@sclaybon
Ok cool. Good to know
Jordan Rickman
@JordanRickman
Can anyone help me with this error? Happens whether I run globally (npm install -g sibilant, then sibilant) or locally from the project directory (npm install sibilant, then npx sibilant).
npx sibilant
Setting up environment with C:\Users\jrickman\env.bat
Error: ENOENT: no such file or directory, open 'undefined/.sibilant.history'
    at Object.openSync (fs.js:462:3)
    at Object.<anonymous> (C:\Main\Tresor\Dev\stitch-sibilant-challenge\node_modules\sibilant\maps\src\repl.sibilant:26:12)
    at Module._compile (internal/modules/cjs/loader.js:1137:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
    at Module.load (internal/modules/cjs/loader.js:985:32)
    at Function.Module._load (internal/modules/cjs/loader.js:878:14)
    at Module.require (internal/modules/cjs/loader.js:1025:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at Object.cli$repl$ [as repl] (C:\Main\Tresor\Dev\stitch-sibilant-challenge\node_modules\sibilant\maps\src\cli.sibilant:37:7)
    at Object.<anonymous> (C:\Main\Tresor\Dev\stitch-sibilant-challenge\node_modules\sibilant\maps\src\cli.sibilant:78:8)
Jordan Rickman
@JordanRickman
Okay, found the fix and opened a Github issue. Problem is that Node's process.env.HOME is not set by default on Windows.