Giter VIP home page Giter VIP logo

raven's Introduction

Raven

Raven is a Package Manager for Chez Scheme

Web Site

Manual

Packages List

package description only for Chez r6rs common pure Scheme C lib depenced
library
darkart foreign library call X X
srfi srfi X X
sufage srfi X X
core small procedures X X
slib X X
scheme-lib X X
web
igropyr http server X X
ballista web framwork X X X
catapult web framwork X X X
libra web framwork X X
json Json parser X X
chez-json Json parser X X
anb-json Json parser X X
jwt Json Web Token X X X
liber HTML parser X X
system
socket X X
libc X X
database
mysql X X
hash
base64 BASE64 X X
csha256 SHA256 hash X X
crypo
chs256 HMAC-SHA256 X X
compiler
nanopass compiler framwork X X
lalr LALR(1) parser X X
statistics
chez-stats statistics X X

the Raven libraries generally work fine on the R6RS implementation, except for some built on the c library which dependent on Chez Scheme's FFI.

Running project:

$ raven run example.sc

if you will run a project compiled:

$ export CHEZSCHEMELIBDIRS=.:lib:/usr/local/lib 
$ export CHEZSCHEMELIBEXTS=.chezscheme.sls::.chezscheme.so:.ss::.so:.sls::.so:.scm::.so:.sch::.so:.sc::.so
$ scheme exemple.so

The project Raven is supported by theschemer.org

The principal developers are: guenchi, chclock

Nota Bene: We recommend that the libraries for Raven files use .sc for distinguishing the libraries of r5rs / r7rs small.

raven's People

Contributors

abhi18av avatar chclock avatar guenchi avatar lhtin avatar librerush avatar paullucas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

raven's Issues

功能建议 : 可以是用git地址直接安装

这里看到 raven 基本比较类似 node的npm.
但是我觉得应该 支持像npm 一样直接通过 git地址直接安装 之后在后面加上一定的参数。 这样有两个好处。

  1. 方便开发者本地测试库的行为。当然这里指的是复杂的调用。当然如果分离模块后进行测试,是不需要 用户在raven install 一次再测试的。 但是实际业务代码中很有可能出现了,写好了觉得没有问题后已经发生问题的情况。(当然 如果有一种 类似maven安装 可以本地mvn install 就安装到本地的方法就更好了。)
  2. 不需要用户 过分依赖官方库。这样其实是更加自由的。应该让他们按照raven的标准去开发和使用,但是不用为他们写的“垃圾”代码买单。 我是说:允许他们畅通无阻的使用 raven 官方的库,只要慢慢的审核他们的提交请求就好了。

我看了项目的源码。希望支持这一特性,但是我并不清楚您是否认同上面的观点和特性。所以并没有开始添加功能的工作。我发现这里的代码
image
中 入参和调用的位置要进行改造。 还有 在package.cs文件中的定义方式和install 参数的方式也要改造。任务是个我不能决策的改动所以来征求你的意见。如果你打算实现那么太好了。期待你的回复。

contributors wanted?

I'm a scheme novice, but I would happy to donate some time to the more tedious tasks associated with managing the Raven project (e.g., reviewing documentation, testing functionality, reviewing package submissions, etc.). Please let me know if you see opportunities for me to contribute. Thanks.

install bug

当版本号不存在时

比如一个未存在的版本 或者 超过当前版本的版本号

依然显示安装成功 当然库目录下是空的 而且写入了package文件

应该改成提示: The version which you have required is not exit, please check it and retry!

这个判断 服务器自动返回了 #f

shell/shebang incompatibility issues of the 'raven' command

hi

right how the first line of the raven cmd is set to:

":"; export CHEZSCHEMELIBDIRS=.:lib:/usr/local/lib && export CHEZSCHEMELIBEXTS=.chezscheme.sl s::.chezscheme.so:.ss::.so:.sls::.so:.scm::.so:.sch::.so:.sc::.so && exec scheme --script $0 "$@";

which can cause issues with shells other then bash, like eg. the fish shell.

如何使用库

通过raven install mysql安装后,怎么使用的呢?新手,求解

probleme Permission

Mac Os
$ curl -o install.sc http://ravensc.com/install && sudo ./install.sc
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2768 100 2768 0 0 69349 0 --:--:-- --:--:-- --:--:-- 70974
sudo: ./install.sc: command not found

Mac Os with root:
$ curl -o install.sc http://ravensc.com/install && ./install.sc
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2768 100 2768 0 0 42978 0 --:--:-- --:--:-- --:--:-- 43250
-sh: ./install.sc: Permission denied

wsl

$ curl -o install.sc http://ravensc.com/install && sudo ./install.sc
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2768 100 2768 0 0 4722 0 --:--:-- --:--:-- --:--:-- 4723
[sudo] password for iter:
sudo: ./install.sc: command not found

提案:关于特异化安装和自动编译c库

解决方案:放在package.sc的script项

如果检测到script项 有install键 则自动运行install键的值
如果检测到script项 有build键 则自动按照键值make (需要包有makefile)比如需要编译的c库

update description of chez-stats on ravensc.com

Please update the description of chez-stats on ravensc.com from

This is a statistics library only in a loose sense. More accurately, it is a hodgepodge of procedures that an R programmer thought would be useful when working in Chez Scheme.

to

Read/write CSV files, compute descriptive statistics, and generate random variates in Chez Scheme.

Thanks.

Styling of parens

hi,
Going through the code of raven.sc I've noticed that two different are used when closing s-expressions

 (if bla
   (do this)
   (do that))

vs.

(if bla
  (do this)
  (do that)
)

when it comes to let expressions, there is

(let ((x a)))

vs.

(let ([x a]))

Are there any particular reasons which led to these different styles?

挺好的一个东西, 别搞砸了

想了解一下scheme, 一路跟着 scheme-> chez scheme-> web framework -> ballista -> raven. raven 在fish shell下跑不起来(curl -L xxx 安装), 切到bash下倒是可以了. 然后装好了ballista, 结果不知道怎么跑一个项目, 到ballista仓库的example里找到代码再弄个.sc文件, scheme xxx.sc结果告诉我import依赖找不到. 至少在ballista里面应该有点提示吧. 该怎么玩起来? 跑到社区(scheme中文社区)不错! 还有个中文社区, 发个帖子, 发不出去...., 看看其中有人问排版问题, 题主回答我这里没问题. 其实真的有问题! 哎, 觉得挺好的一个由**人搞的项目, 看这架势也是草草寥寥, 要黄的样子. 咱就真的弄不好一个项目吗? 我理解各种琐碎的事情非常复杂, 要考虑面对的用户各种层次等等. 初创者肯定是最熟悉这些问题的了, 可惜往往缺乏耐心, 也很少会从用户角度考虑问题, 讲实话, 语言就是工具, 你拿来是干活的. 所以路径一定要清晰, 比方这个东西可以开发web 后端, 那就直接写个一路能实作起来的文档嘛. lisp牛, 逼上天它也要落到地上让人用的, 多多从实际角度出发来宣传布道才有人愿意取用. 我感觉自己也算大众程序员吧, 动手能力也不弱, 却根本无法顺当的用这个东西跑个项目起来. 那装起来干嘛呢? 也就安装一下, 搞几下, 意淫几下括号括号括号, 根本无实际卵用. 最后, lisp还是留给你们去自己孤芳吧

raven can't be run because of License

when running raven 0.3.1:

% raven
/usr/local/bin/raven: 1: /usr/local/bin/raven: Syntax error: ";" unexpected

To use raven I have to remove License from raven.sc, so file starts with
":"; export CHEZSCHEMELIBDIRS=.:lib:/usr/local/lib && export CHEZSCHEMELIBEXTS=.chezscheme.sls::.chezscheme.so:.ss::.so:.sls::.so:.scm::.so:.sch::.so:.sc::.so && exec scheme --script $0 "$@";

should use s-expression instead of json

since this is a scheme package manager, shouldn't s-exps be used?

ChezScheme does not have native json parser, but every implementation of scheme has s-exp parser.

using s-exp even sxml can employ the powerful pattern matching libararies of scheme, which makes life much easier.

chez-stats library submission

I've started working on a Chez Scheme library for descriptive statistics and generating random variates that I would like to submit for consideration to Raven. I'm a novice Scheme programmer and might be writing non-idiomatic code. Feedback and contributions are welcome. Thanks.

update Raven packages

What is the process for Raven to update the "registered" packages that are available for installation? It's clear that Raven is not automatically updating the chez-stats package when I push to GitHub. Is there something that I need to do to trigger Raven to update the version of chez-stats that it is providing?

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.