Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.54/91: Рейтинг темы: голосов - 91, средняя оценка - 4.54
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
23.04.2015, 07:05
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
http://hackage.haskell.org/package/b...xts.html#v:Ptr
GHC.Exts это не Prelude, это какоето расширение для GHC, сотвественно к родным типам ниакакого отношения не имеет.
И не смотрите на путь к файлу - GHC. Это в стандарте.
это вообще FFI.

где в стандарте (именно в описании самого языка, а не модулей) есть упоминание о указателях и операциях с ними? собственно в 6.1 https://www.haskell.org/onlinereport/basic.html ниаких указателей нет
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.04.2015, 07:05
Ответы с готовыми решениями:

Олимпиадное программирование : C++ VS Python.
Хорошие люди добились того, что Python 3.0 разрешен на олимпиадах. К сожалению я не знаю ни C++ ни Питон.))) И последнюю олимпиаду...

Промышленное программирование
Ищу людей с опытом работы с ком портами и общения по ним с контролерами, разумеется разрабатывающих софт на с++, для обмена опытом! Буду...

Олимпиадное программирование
Всем доброго времени суток! Прошу помощи с задачей с тимуса 1570. Ссылка: http://acm.timus.ru/problem.aspx?space=1&num=1570 . Не имею...

308
Модератор
 Аватар для Curry
5165 / 3527 / 536
Регистрация: 01.06.2013
Сообщений: 7,676
Записей в блоге: 9
23.04.2015, 08:32
Цитата Сообщение от pycture Посмотреть сообщение
это вообще FFI.

Не по теме:

Хоть один пользователь киберфорума способен признать что неправ и сделать сэппуку ?


FFI часть языка, а не "вообще". Вот, вы недавно слайсы на F# демонстрировали (противопоставляя де), так, с тем же успехом некто бы объявил что "это же слайсы, а в F# их нет". Логика такая. Тем более что Вы и сами не знаете сколько функций на сях CLR вызывает для выполнения Вашего кода.
Haskell
1
2
3
4
5
6
7
8
9
import Foreign
import Foreign.C.String
import Control.Monad
 
main = allocaBytes 8 $ \ buf -> do
            poke buf ( 0x74637970 :: Word32)
            poke (plusPtr buf 4) ( 0x657275 :: Word32) 
            peekCAString $ castPtr buf
       >>= putStrLn
http://ideone.com/OMMEju
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
23.04.2015, 08:35
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Вот, вы недавно слайсы на F# демонстрировали
которые описаны в спецификации языка и работают без всяких импортов. где в спецификации хаскеля есть описание указателей?
0
Модератор
 Аватар для Curry
5165 / 3527 / 536
Регистрация: 01.06.2013
Сообщений: 7,676
Записей в блоге: 9
23.04.2015, 08:57
Цитата Сообщение от pycture Посмотреть сообщение
которые описаны в спецификации языка и работают без всяких импортов. где в спецификации хаскеля есть описание указателей?
В F# без импортов, в других языках для всего import-ы нужны. Включая подключаемый по умолчанию Prelude.
В сях, тогда вообще ничего нельзя без #include (а так же в Аде, паскале и пр.). Плохая отмазка. Если чего - фукции работы с указателем INLINE, а не на си.
Где в спецификации языка есть указатели я ранее ссылку давал, Вам же в этой теме.

Добавлено через 6 минут
pycture, и без толку спецификацией старой трясти. Даже если бы указателей там не было (а они есть), Хаскелисты, по факту, используют конкретный компилятор GHC, в котором гораздо больше возможностей чем в стандарте.
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
23.04.2015, 09:01
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Где в спецификации языка есть указатели я ранее ссылку давал, Вам же в этой теме.
это спецификация стандартных библиотек. конкретно спецификация языка хаскеля (в отличии от c# с чего и шло сравнение) не имеет _встроенных механизмов работы с указателями на уровне языка_. поэтому в c# вводятся доп конструкции на уровне языка для работы с указателями, а в хаскель не вводятся, т.к. он с ними (как язык) не работает.
0
Модератор
 Аватар для Curry
5165 / 3527 / 536
Регистрация: 01.06.2013
Сообщений: 7,676
Записей в блоге: 9
23.04.2015, 09:28
Цитата Сообщение от pycture Посмотреть сообщение
не имеет _встроенных механизмов работы с указателями на уровне языка_
Если для castPtr , peekPtr, pokePtr, plusPtr и других не вызываются вспомогательные сишные функций, а прямо код генерируется, то это не встроено в язык? Подключение библиотек всё равно требуется, но не для описания, какие сишные ф-ии вызывать.

Вот, 2D слайсы (как и массивы вообще) в Haskell не встроены, это да. Я специально спрашивал кое где, как 2D (3D...) слайсы реализовать можно. Можно, оказывается, но не на уровне языка. Что и признаю. А указатели встроены.
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
23.04.2015, 20:49
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Если для castPtr , peekPtr, pokePtr, plusPtr и других не вызываются вспомогательные сишные функций, а прямо код генерируется, то это не встроено в язык?
то что не указано в спецификации языка - не встроено, а что там llvm инлайнит дело 10-е. копнем модуль Ptr.hs от GHC - что имеем?
{-# LANGUAGE Unsafe #-}
Portability : non-portable (GHC Extensions)
хитрые прагмы и непереносимые расширения для _конкретного_ компилятора.
все стандарные типы хаскеля перечислены тут https://www.haskell.org/online... 13-1160006. здесь указателей нет.
0
Модератор
 Аватар для Curry
5165 / 3527 / 536
Регистрация: 01.06.2013
Сообщений: 7,676
Записей в блоге: 9
23.04.2015, 21:25
Цитата Сообщение от pycture Посмотреть сообщение
то что не указано в спецификации языка - не встроено
Вообще то, сама эта фраза неправильна. Если GHC встроил чтото, но оно не в спецификации, то ... оно окажется не встроенным? При чём тут спецификация?
Цитата Сообщение от pycture Посмотреть сообщение
а что там llvm инлайнит
llvm не пробовал. По дефолту, нативный код генерится.
Цитата Сообщение от pycture Посмотреть сообщение
копнем модуль Ptr.hs от GHC - что имеем?
{-# LANGUAGE Unsafe #-}
Portability : non-portable (GHC Extensions)
Грубо передёргиваете. Этот текст из заголовка файла GHC/Ptr.hs - такой ФАЙЛ не описан в стандарте. Но, авторам компилятора так захотелось. Этот файл напрямую не подключают. Что подключают я показал.
Внутри модуля Foreign вызывается GHC/Ptr.hs для этого компилятора. По этому, чтобы показать, как выглядят указатели в Haskell я и дал ссылку на этот файл.
Цитата Сообщение от pycture Посмотреть сообщение
хитрые прагмы
Где вы видели прагмы в приведённом мной в этом топике ранее коде? Для работы с указателями не нужны прагмы.
Цитата Сообщение от pycture Посмотреть сообщение
все стандарные типы хаскеля перечислены тут https://www.haskell.org/online... 13-1160006. здесь указателей нет.
Опять грубо передёргиваете, т.к. в следующих страницах этого же документа https://www.haskell.org/online... -1540008.4
указатели и описываются. И, да, FFI - часть языка, как монады, например.

Так передёргивать, случайно, по непониманию нельзя. Это просто боязнь признать свою неправоту.
Играть до бесконечности в эту игру и писать друг другу детские фразы "слив засчитан" мне неохота.
Жаль. Полагал Вас более разумным. Отписываюсь.
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
25.04.2015, 14:33
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Если GHC встроил чтото, но оно не в спецификации, то ... оно окажется не встроенным?
да. иначе с таким же успехом можно расскзывать что в паскале есть проперти. т.к. конкретно дельфи может их компилить.
Этот текст из заголовка файла GHC/Ptr.hs - такой ФАЙЛ не описан в стандарте. Но, авторам компилятора так захотелось.
им бы этого не захотелось будь в языке встроенные и документированные механизмы. логично?
Кликните здесь для просмотра всего текста

Не по теме:

передёргивать
я значение этого слова и как оно в языке появилось до сих пор не понимаю


ну и самое интересное http://ohaskell.dshevchenko.bi... skell.html раздел
"Работаем с внутренностями". что там? а там совершенно жуткая весчь. что б поработать с сишной структурой надо написать непойми что (т.е. не чисто хаскельный код) и скормить это! препроцессору!. если б в языке была полноценная работа с указателями то на кой все эти танцы с бубном препроцессором?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.04.2015, 14:33

Олимпиадное программирование
Здравствуйте. Посоветуйте, пожалуйста, какие-нибудь книги или интернет-ресурсы по олимпиадному программированию. Очень важно, чтобы было в...

Олимпиадное программирование!
Привет всем!Я начинающий программер и очень хотелось бы решать олимпиадный задачки c acm.sgu.ru! но не хватает знаний по алгоритмам!кто...

Олимпиадное программирование
Доброго времени суток!Собсна сабж: в школе участвовал на олимпиадах по программированию, занимался самостоятельно(т.к. учился в гимназии),...

Олимпиадное программирование 11 класс
Задачу прикрепил во вложение. Задача #3. Буду благодарен за помощь)

Олимпиадное программирование 11 класс
Саша взял тетрадный лист из N*M клеточек и пронумеровал все клетки различными числами. Теперь ему стало интересно, сколько различных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
309
Ответ Создать тему
Новые блоги и статьи
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru