Initial commit

This commit is contained in:
Georges Dupéron 2017-01-07 22:26:19 +01:00
commit 07b1af11d2
7 changed files with 112 additions and 0 deletions

6
.gitignore vendored Normal file
View File

@ -0,0 +1,6 @@
*~
\#*
.\#*
.DS_Store
compiled/
/doc/

58
.travis.yml Normal file
View File

@ -0,0 +1,58 @@
language: c
# Based from: https://github.com/greghendershott/travis-racket
# Optional: Remove to use Travis CI's older infrastructure.
sudo: false
env:
global:
# Supply a global RACKET_DIR environment variable. This is where
# Racket will be installed. A good idea is to use ~/racket because
# that doesn't require sudo to install and is therefore compatible
# with Travis CI's newer container infrastructure.
- RACKET_DIR=~/racket
matrix:
# Supply at least one RACKET_VERSION environment variable. This is
# used by the install-racket.sh script (run at before_install,
# below) to select the version of Racket to download and install.
#
# Supply more than one RACKET_VERSION (as in the example below) to
# create a Travis-CI build matrix to test against multiple Racket
# versions.
- RACKET_VERSION=6.0
- RACKET_VERSION=6.1
- RACKET_VERSION=6.1.1
- RACKET_VERSION=6.2
- RACKET_VERSION=6.3
- RACKET_VERSION=6.4
- RACKET_VERSION=6.5
- RACKET_VERSION=6.6
- RACKET_VERSION=6.7
- RACKET_VERSION=HEAD
matrix:
allow_failures:
# - env: RACKET_VERSION=HEAD
fast_finish: true
before_install:
- git clone https://github.com/greghendershott/travis-racket.git ~/travis-racket
- cat ~/travis-racket/install-racket.sh | bash # pipe to bash not sh!
- export PATH="${RACKET_DIR}/bin:${PATH}" #install-racket.sh can't set for us
install:
- raco pkg install --deps search-auto
before_script:
# Here supply steps such as raco make, raco test, etc. You can run
# `raco pkg install --deps search-auto` to install any required
# packages without it getting stuck on a confirmation prompt.
script:
- raco test -x -p tr-immutable
after_success:
- raco setup --check-pkg-deps --pkgs tr-immutable
- raco pkg install --deps search-auto cover cover-coveralls
- raco cover -b -f coveralls -d $TRAVIS_BUILD_DIR/coverage .

11
LICENSE.txt Normal file
View File

@ -0,0 +1,11 @@
tr-immutable
Copyright (c) 2017 georges
This package is distributed under the GNU Lesser General Public
License (LGPL). This means that you can link tr-immutable into proprietary
applications, provided you follow the rules stated in the LGPL. You
can also modify this package; if you distribute a modified version,
you must distribute it under the terms of the LGPL, which in
particular means that you must release the source code for the
modified software. See http://www.gnu.org/copyleft/lesser.html
for more information.

3
README.md Normal file
View File

@ -0,0 +1,3 @@
tr-immutable
============
README text here.

9
info.rkt Normal file
View File

@ -0,0 +1,9 @@
#lang info
(define collection "tr-immutable")
(define deps '("base"
"rackunit-lib"))
(define build-deps '("scribble-lib" "racket-doc"))
(define scribblings '(("scribblings/tr-immutable.scrbl" ())))
(define pkg-desc "Description Here")
(define version "0.0")
(define pkg-authors '(georges))

15
main.rkt Normal file
View File

@ -0,0 +1,15 @@
#lang typed/racket/base
(module unsafe racket/base
;; TODO: make this a vector in the implementation, but make TR think it's a
;; list (via a contract?)
(provide (struct-out ivector))
(struct ivector (v) #:mutable)
)
(require typed/racket/unsafe)
(unsafe-require/typed 'unsafe
[#:struct (A) ivector ([v : (Listof A)])
#:type-name IVector])
(make-predicate (IVector Integer))

View File

@ -0,0 +1,10 @@
#lang scribble/manual
@require[@for-label[tr-immutable
racket/base]]
@title{tr-immutable}
@author{georges}
@defmodule[tr-immutable]
Package Description Here